/* reset css */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}


/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

strong {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Titillium Web', sans-serif;
    font-weight: bold;
}

nav li a {
    font-family: 'Titillium Web', sans-serif;
    font-weight: bold;
}

.wrapper {
    margin: 0 auto;
    width: 70%;
}


/* permanent */

* {
    margin: 0;
    padding: 0;
    font-family: 'Helvetica', sans-serif;
    list-style-type: none;
    z-index: 0;
}

a {
    text-decoration: none;
}

.container-fluid {
    position: relative;
    z-index: -1;
}

html,
body {
    height: 100%;
    width: 100%;
}

body {
    overflow-x: hidden;
    background-color: #fff;
    background-size: cover;
}

.wrapper {
    margin: 0 auto;
}

.clearing {
    clear: both;
}

section {
    position: relative;
    background-color: #fff;
}

.dispNone {
    display: none;
}

.validMessage {
    color: rgb(0, 169, 62);
    font-size: 20px;
}

.floatLeft {
    float: left;
}

.cinquante {
    box-sizing: border-box;
    width: 50%;
}


/* NAVIGATION */

.logo {
    float: left;
    font-size: 2em;
    font-family: 'titallium';
    font-style: italic;
}

a.logo:hover {
    text-decoration: none;
}

.logo img {
    height: 40px;
    margin: 5px 10px 0px 0px;
}


/* HEADER */

.navbar-default .navbar-nav li a:hover {
    color: rgb(206, 57, 51);
}


/* FOOTER */

footer {
    width: 100%;
    background-color: rgb(56, 17, 11);
    padding: 1em;
}

footer ul:first-child {
    border-right: solid 1px #fff;
    min-width: 150px;
    width: 20%;
    float: left;
    margin-left: 5%;
}

footer ul li:first-child {
    font-weight: bold;
    color: #fff;
    margin-bottom: 0.5em;
}

footer ul a {
    color: #fff;
    margin: 0.2em;
    display: block;
}

footer a {
    color: #fff;
}

footer .contact_informations {
    width: 70%;
    float: left;
    color: #fff;
    height: 116px;
}

footer .contact_informations div:not(.clearing) {
    padding: 0.5em 1em;
    box-sizing: border-box;
    line-height: 2em;
    text-align: center;
    height: 100%;
}

footer .contact_informations div.floatLeft:nth-child(2) {
    border-left: solid 1px #b7b7b7;
}

@media screen and (max-width: 960px) {
    body main.maison section.presentation article p {
        float: none;
        display: block;
        width: 100%;
    }
    body main.maison section.presentation article img {
        float: none;
        display: block;
        width: 100%;
    }
    footer .contact_informations {
        float: none;
        display: block;
        border: none;
        height: auto;
        width: 100%;
    }
    footer .contact_informations div.floatLeft.cinquante {
        border-left: none;
        border-top: solid 1px #b7b7b7;
        float: none;
        width: 100%;
    }
    footer .contact_informations div.floatLeft:nth-child(2) {
        border-left: none;
    }
    footer ul:first-child {
        border: none;
        float: none;
        display: block;
        width: 100%;
        text-align: center;
        margin: 0;
        padding: 1em 0;
    }
}


/************************* HOME **************************************/

main.home {
    width: 100%;
    height: 100%;
}


/* SLIDER SECTION HEADER */

main.home section.header {
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

main.home section.header #owl3 {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    z-index: 0;
    padding: 0;
    margin: 0;
    overflow-y: hidden;
}

main.home section.header .owl-wrapper{
    height:100%;
}

main.home section.header #owl3 .owl-item {
    width: 100%;
    height: auto;
    max-height: 100%;
    position: relative;
    overflow-hidden;
}

main.home section.header #owl3 figure {
    height: 100%;
    width: 100%;
    max-height: 100%;
    overflow-y: hidden;
}

main.home section.header #owl3 img {
    width: 100%;
    height: 100%;
    overflow-y: hidden;
}

main.home section.header #owl3 figurecaption {
    text-align: center;
    height: 150px;
    width: 950px;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: -75px;
    left: 0;
    bottom: 0;
    right: 0;
    color: rgb(51, 51, 51);
    font-size: 2em;
    line-height: 1.5em;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1em;
}

@media screen and (max-height:800px){
    text-align: center;
    height: 150px;
    width: 950px;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: 0px;
    left: 0;
    bottom: 0;
    right: 0;
    color: rgb(51, 51, 51);
    font-size: 2em;
    line-height: 1.5em;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1em; 
    max-height:20%;
}

main.home .owl-controls .owl-buttons div.owl-prev {
    position: absolute;
    left: 0px;
    top: 50%;
    height: 50px;
    font-size: 50px;
    background: none;
    color: #fff;
    margin-top:-25px;
}

main.home .owl-controls .owl-buttons div.owl-next {
    position: absolute;
    right: 0px;
    top: 50%;
    height: 50px;
    font-size: 50px;
    background: none;
    color: #fff;
    margin-top:-25px;
}

main.home section.slider .owl-controls .owl-buttons i.fa {
    height: 50px;
    width: 50px;
    font-size: 1em;
    background: none;
}

main.home .owl-controls .owl-buttons div {
    color: #000;
}


/* SECTION PRESENTATION */

main.home section.presentation {
    padding: 3em 2em;
    background-color: rgb(240, 240, 240);
    text-align: center;
    box-shadow: 0 0 5px rgba(206, 57, 51, 0.5);
    z-index: 5;
}

main.home section.presentation h2 {
    text-transform: uppercase;
    font-size: 1.2em;
    margin-bottom: 1em;
}

main.home section.presentation p {
    line-height: 1.2em;
}


/* SECTION MAISON */

main.home section.maison {
    text-align: center;
    padding: 2em 0;
}

main.home section.maison h2 {
    text-transform: uppercase;
    font-size: 1.2em;
    margin-bottom: 1em;
}

main.home section.maison a {
    display: inline-block;
    width: 30%;
    min-width: 300px;
    margin: 1%;
}

main.home section.maison figure,
main.home section.maison figure img {
    width: 100%;
    height: 300px;
    min-width: 300px;
    overflow: hidden;
    position: relative;
}

main.home section.maison figure figurecaption {
    height: 100%;
    width: 100%;
    min-width: 300px;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: -100%;
    transition: 0.5s;
    text-align: center;
    line-height: 300px;
    color: #fff;
    font-weight: bold;
    font-size: 1.3em;
}

main.home section.maison figure:hover figurecaption {
    left: 0;
}


/* SECTION MAP */

main.home section.map {
    margin: 1em 0;
    box-shadow: 0 0 5px rgba(206, 57, 51, 0.5);
}

main.home section.map #map {
    position: relative;
    min-height: 400px;
}

main.home section.map article {
    display: block;
    height: 300px;
    width: 300px;
    background-color: #fff;
    position: absolute;
    right: 1em;
    top: 0;
    left: auto;
    bottom: 0;
    overflow: auto;
    margin: auto;
    box-sizing: border-box;
    padding: 1em;
    text-align: right;
}

main.home section.map article address {
    width: 100%;
    padding: 1em;
    line-height: 1.5em;
    font-size: 1em;
    font-weight: bold;
    margin-top: 20px;
}

main.home section.map article address i {
    float: left;
    font-size: 2.5em;
    color: rgb(206, 57, 51);
}

main.home section.map article .coordonnees {
    width: 100%;
    padding: 0 1em;
}

main.home section.map article .coordonnees i {
    float: left;
    font-size: 2em;
    color: rgb(206, 57, 51);
}

main.home section.map article .coordonnees p {
    margin: 1em 0;
    line-height: 2em;
    font-size: 1.1em;
    font-weight: bold;
}


/************************* VILLA ******************************/

main.maison {
    width: 100%;
    min-height: 100%;
    background-image: url('../img/piecedevie.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #e7e7e7;
}

main.maison section.presentation {
    min-height: 100%;
    width: 60%;
    min-width: 320px;
    margin: 0 auto;
    padding-top: 80px;
    background: none;
}

main.maison section.presentation h2 {
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 1em;
}

main.maison section.presentation h3 {
    margin-top: 2em;
}

main.maison section.presentation article {
    width: 100%;
    border: solid 1px #b7b7b7;
    padding: 2em;
    margin: 1em 0;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
}

main.maison section.presentation article img {
    width: 50%;
    float: right;
}

main.maison section.presentation article p {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding: 1em;
    line-height: 1.2em;
    font-size: 1.2em;
}

main.maison section.presentation article:nth-of-type(4) p:nth-of-type(1) {
    padding-top: 0.8em;
}

main.maison section.presentation article:nth-of-type(2) p:nth-of-type(1),
main.maison section.presentation article:nth-of-type(3) p:nth-of-type(1),
main.maison section.presentation article:nth-of-type(4) p:nth-of-type(1) {
    float: right;
}

main.maison section.presentation article:nth-of-type(2) img:nth-of-type(1),
main.maison section.presentation article:nth-of-type(3) img:nth-of-type(1),
main.maison section.presentation article:nth-of-type(4) img:nth-of-type(1) {
    float: left;
}

main.maison section.presentation article .space {
    margin-bottom: 2em;
}


/* GALERIE PHOTOS */

main.galerie {
    width: 100%;
    min-height: 100%;
    background-image: url('../img/piscine2.JPG');
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #e7e7e7;
}

main.galerie section.presentation {
    min-height: 100%;
    width: 60%;
    min-width: 320px;
    margin: 0 auto;
    padding-top: 80px;
    background: none;
}

main.galerie section.presentation h2 {
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 1em;
}

main.galerie section.presentation h3 {
    margin-top: 2em;
}

main.galerie section.presentation article {
    width: 100%;
    border: solid 1px #b7b7b7;
    padding: 2em;
    margin: 1em 0;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.31);
}

main.galerie section.presentation #owl4,
main.galerie section.presentation #owl5 {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    z-index: 0;
    padding: 0;
    margin: 0;
    overflow-y: hidden;
}

main.galerie section.presentation #owl4 .owl-item,
main.galerie section.presentation #owl5 .owl-item,
main.galerie section.presentation #owl6 .owl-item {
    width: 100%;
    height: auto;
    max-height: 100%;
    position: relative;
}

main.galerie section.presentation #owl4 figure,
main.galerie section.presentation #owl5 figure,
main.galerie section.presentation #owl6 figure {
    height: auto;
    width: 100%;
    max-height: 100%;
    overflow-y: hidden;
    position: relative;
}

main.galerie section.presentation #owl4 figurecaption,
main.galerie section.presentation #owl5 figurecaption,
main.galerie section.presentation #owl6 figurecaption {
    position: absolute;
    padding: 1em;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    width: 100%;
}

main.galerie section.presentation #owl4 img,
main.galerie section.presentation #owl5 img,
main.galerie section.presentation #owl6 img {
    width: 100%;
    height: auto;
    overflow-y: hidden;
}

main.galerie .owl-controls .owl-buttons div.owl-prev {
    position: absolute;
    left: 0px;
    top: 50%;
    height: 50px;
    font-size: 50px;
    background: none;
    color: #fff;
}

main.galerie .owl-controls .owl-buttons div.owl-next {
    position: absolute;
    right: 0px;
    top: 50%;
    height: 50px;
    font-size: 50px;
    background: none;
    color: #fff;
}

main.galerie section.slider .owl-controls .owl-buttons i.fa {
    height: 50px;
    width: 50px;
    font-size: 1em;
    background: none;
}

main.galerie .owl-controls .owl-buttons div {
    color: #000;
}


/************** PAGE CONTACT *********************/

main.contact {
    width: 100%;
    height: 100%;
    background-image: url('../img/cour2.JPG');
    background-size: contain;
    background-color: #e7e7e7;
    background-position: -500px 0;
}

main.contact section.contact {
    background: none;
}

main.contact article.map {
    box-shadow: 0 0 5px rgba(206, 57, 51, 0.5);
    position: relative;
}

main.contact article.map #map {
    position: relative;
    min-height: 400px;
}

main.contact article.map article {
    display: block;
    height: 300px;
    width: 300px;
    background-color: #fff;
    position: absolute;
    right: 1em;
    top: 0;
    left: auto;
    bottom: 0;
    overflow: auto;
    margin: auto;
    box-sizing: border-box;
    padding: 1em;
    text-align: right;
}

main.contact article.map article address {
    width: 100%;
    padding: 1em;
    line-height: 1.5em;
    font-size: 1em;
    font-weight: bold;
    margin-top: 20px;
}

main.contact article.map article address i {
    float: left;
    font-size: 2.5em;
    color: rgb(206, 57, 51);
}

main.contact article.map article .coordonnees {
    width: 100%;
    padding: 0 1em;
}

main.contact article.map article .coordonnees i {
    float: left;
    font-size: 2em;
    color: rgb(206, 57, 51);
}

main.contact article.map article .coordonnees p {
    margin: 1em 0;
    line-height: 2em;
    font-size: 1.1em;
    font-weight: bold;
}

main.contact article.formulaire {
    background-color: #fff;
    width: 60%;
    min-width: 300px;
    margin: 0 auto;
    padding: 80px 0 2em 0;
}

main.contact article.formulaire .form-control {
    margin: 10px 0;
}

main.contact section.contact h2 {
    margin-bottom: 2em;
    text-transform: uppercase;
    text-align: center;
    color: #CE3933;
}

main.contact section.contact textarea {
    height: 150px;
}

main.contact section.contact .form-control:focus {
    border-color: #CE3933;
}

main.contact section.contact form span {
    color: #CE3933;
    font-size: 0.8em;
}


/************ PAGE MENTIONS LEGALES ***********/

body.mentions {
    background-color: #e7e7e7;
}

main.mentions {
    padding-top: 4em;
}

main.mentions section {
    padding: 2em 1em;
    border: solid 1px #b7b7b7;
    margin: 1em;
}

main.mentions section p {
    margin-top: 1em;
}

main.mentions section ul {
    padding-left: 2em;
}

@media screen and (max-width:1000px) {
    main.home section.header #owl3 figurecaption {
        height: 250px;
        width: 80%;
        overflow: auto;
        margin: auto;
        position: absolute;
        top: 85px;
    }
    main.home section.maison figure,
    main.home section.maison figure img {
        min-height: auto;
        height: auto;
    }
    main.home section.maison figure figurecaption {
        line-height: 200px;
    }
}

@media screen and (max-width:700px) {
    .owl-buttons {
        display: none;
    }
    main.home section.header {
        height: auto;
    }
}

@media screen and (max-width:630px) {
    main.home section.header figurecaption {
        display: none;
    }
}