/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* == Critical CSS */
html {
  box-sizing: border-box;
}
*,
*::after,
*::before {
  box-sizing: inherit;
}
body {
    font-size: 100%;
    cursor: default;
    font-family: 'Roboto', sans-serif;
}
img {
    max-width: 100%;
    height: auto;
}

/* == fonts */
.logo span,
footer {
    font-weight: 400;
}
.section-one-two-three-four p,
footer b {
    font-weight: 700;
}
.logo span {
    font-size: 1em;
}
.nav-list li a,
.section-one-two-three-four h2 {
    font-family: 'Patua One', cursive;
}
.nav-list li a { 
    text-transform: uppercase;
    letter-spacing: .025em;
}
h1 {
    font-family: 'Lobster', cursive;
    text-align: center;
}
.titre-home {
    font-size: 1.85em;
    line-height: 1.15em;
}
.section-one-two-three-four p {
    font-size: 1.0625em;
}
footer {
    text-align: center;
    font-size: .8em;
    font-style: italic;
}
footer ul {
    padding: 45px 0;
}
footer a {
    text-decoration: none;
    position: relative;
}
footer a img {
    position: relative;
    top: 10px;
    padding: 0 2px;
}

/* == couleurs */
header {
    background: #ffffff;
}
.logo span {
    color: #05829c;
}
.nav-list li a {
    color: #828282;
}
.top-page {
    background: #a61c18;
}
h1 {
    color: #ffebca;
}
h1 b {
    color: #ffffff;
}
h1 span {
    color: #23afc8;
}
.page {
    background: #f2f2f2;
}
.section-one-two-three-four h2 {
    color: #ffffff;
    background: #23afc8;
}
.section-one-two-three-four p,
footer,
footer a {
    color: #606060;
}

/* == Liens */
footer a:hover {
    text-decoration: underline;
    color: #05829c;
}

/* == layout */
.nav-container,
.top-page-container,
.page-container,
.footer-container {
    max-width: 960px;
    margin: 0 auto;
}
.top-page-container {
    text-align: center;
    padding: 65px 0;
}
.page-container {
    padding: 40px 0;
}
footer {
    min-height: 100px;
}

/* == home */
.section-one-two-three-four {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    padding: 40px 10px 75px 10px;
}
.section-one,
.section-two,
.section-three,
.section-four {
    width: 170px;
}
.section-one,
.section-two {
    text-align: left;
}
.section-three,
.section-four {
    text-align: justify;
}
.section-one-two-three-four h2 {
    display: block;
    height: 60px;
    width: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 3em;
    border-radius: 10px;
}
.section-one-two-three-four p {
    border-top: 1px solid #ae2819;
    margin-top: 12px;
    padding-top: 12px;
}
.img-sva {
    margin-top: 10px;
}

/* == header */
header {
    height: 100px;
    position: relative;
    z-index: 1000;
}
.logo {
    height: 100px;
    width: 250px;
    padding-top: 30px;
    margin-left: 10px;
}
.logo a {
    position: relative;
    display: block;
}
.logo span {
    position: absolute;
    bottom: -25px;
    left: 0;
}
.logo a,
.logo a:visited {
    text-decoration: none;
}
.nav-container {
    max-width: 960px;
    margin: 0 auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.main-nav ul li a,
.main-nav ul li a:visited {
    display: block;
    padding: 0 20px;
    text-decoration: none;
}
.nav-list li a:hover,
.nav-list li a:visited:hover,
.nav-list li:last-child a:hover,
.nav-list li:last-child a:visited:hover {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#23afc8+80,05829c+99 */
    color: #c5f4ff;
    background: #23afc8; /* Old browsers */
    background: -moz-linear-gradient(top,  #23afc8 80%, #05829c 99%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #23afc8 80%,#05829c 99%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #23afc8 80%,#05829c 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#23afc8', endColorstr='#05829c',GradientType=0 ); /* IE6-9 */
}

/* == Navigation Mobile v2 */
.nav-mobile {
    display: none;
    position: absolute;
    top: 15px;
    right: 0;
    height: 70px;
    width: 70px;
}
#nav-toggle {
    position: absolute;
    left: 18px;
    top: 22px;
    cursor: pointer;
    padding: 10px 35px 16px 0px;
}
#nav-toggle span {
    cursor: pointer;
    border-radius: 1px;
    height: 5px;
    width: 35px;
    background-color: transparent;
    position: absolute;
    display: block;
    content: '';
    transition: all 300ms ease-in-out;
}
#nav-toggle span:before,
#nav-toggle span:after {
    cursor: pointer;
    border-radius: 1px;
    height: 5px;
    width: 35px;
    background: #05829c;
    position: absolute;
    display: block;
    content: '';
    transition: all 300ms ease-in-out;
}
#nav-toggle span:before {
    top: 0px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#nav-toggle span:after {
    bottom: 0px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#nav-toggle.active span {
    
    background: #05829c;
}
#nav-toggle.active span:before {
    top: -10px;
}
#nav-toggle.active span:after {
    top: 10px;
}
#nav-toggle.active span:before {
-webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
#nav-toggle.active span:after {
-webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

/* == Media Queries */
@media all and (max-width: 880px) {
    /* == nav-container */
    #nav-link-desktop {
        display: none;
    }
    .nav-mobile {
        display: block;
    }
    .main-nav {
        width: 100%;
    }
    .main-nav ul {
        text-align: center;
    }
    .main-nav ul li a {
        padding: 15px;
        line-height: 20px;
    }
    .main-nav ul li a,
    .main-nav ul li a:visited {
        background: #f2f2f2;
        border-bottom: 1px solid #ffffff; /* #828282 */
    }
    .main-nav ul li:last-child a,
    .main-nav ul li:last-child a:visited {
        background: #f2f2f2;
        border-bottom: none;
    }
    .nav-list {
        display: none;
    }
    /* == top-page titre */
    .titre-home {
        padding: 0 20px 40px 20px;
    }
    /* == page Home */
    .section-one-two-three-four {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-around;
        -ms-justify-content: space-around;
        justify-content: space-around;
        padding: 40px 10px 75px 10px;
    }
    .section-one,
    .section-two,
    .section-three,
    .section-four {
        width: 320px;
        padding: 30px;
    }
    .section-one,
    .section-two {
        text-align: left;
    }
    .section-three,
    .section-four {
        text-align: justify;
    }
    .section-one-two-three-four p {
        font-size: 1.25em;
    }
    .view-tel-desktop {
        display: none;
    }
    /* == page-quand */
    .page-quand h2 {
        font-size: 1.5em;
    }
    /* == faq */
    .btn-contacter {
        width: 100%;
    }
    /* == cgu */
    .menu-cgu ol {
        line-height: 1.5em;
    }
    /* == footer */
    footer li {
        line-height: 2em;
        border-bottom: 1px solid #f2f2f2;
    }
    footer span {
        display: none;
    }
}
@media all and (min-width: 880px) {
    /* == nav-container */
    #nav-link-mobile {
        display: none;
    }
    .nav-container {
        max-width: 960px;
        margin: 0 auto;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        -ms-align-items: center;
        align-items: center;
    }
    .main-nav {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: flex-end;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        -webkit-align-items: stretch;
        -ms-align-items: stretch;
        align-items: stretch;
        height: 100px;
    }
    .nav-list {
        display: -ms-flexbox !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: flex-end;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        -webkit-align-items: stretch;
        -ms-align-items: stretch;
        align-items: stretch;
        text-align: center;
    }
    .main-nav ul li a {
        line-height: 20px;
        padding-top: 30px;
        height: 100px;
    }
    .main-nav ul li {
        position: relative;
    }
    .main-nav ul li .nav-line {
        display: block;
        width: 0%;
        height: 2px;
        background: #05829c;
        position: absolute;
        bottom: 20px;
        left: 50%;
        transition-delay: 0;
        transition-duration: .5s;
    }
    .main-nav ul li:hover .nav-line {
        width: 100%;
        left: 0;
    }
    /* == top-page */
    .top-page-container {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: space-around;
        -ms-justify-content: space-around;
        justify-content: space-around;
        -webkit-align-items: center;
        -ms-align-items: center;
        align-items: center;
    }
    .top-page-home {
        height: 300px;
        padding: 0 20px;
    }
    /* == footer */
    footer ul li {
        display: inline-block;
    }
    /* == home */
    .view-tel-mobile {
        display: none;
    }
    /* == animation top-page */
    .top-page-container h1,
    .top-page-container img {
        opacity: 0;
        -webkit-animation-delay: 0.3s;
        -moz-animation-delay: 0.3s;
        -o-animation-delay: 0.3s;
        animation-delay: 0.3s;
        -webkit-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        -o-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
    }
    .top-page-container h1 {
        -webkit-animation-name: cd-bounce-right;
        -moz-animation-name: cd-bounce-right;
        -o-animation-name: cd-bounce-right;
        animation-name: cd-bounce-right;
    }
    .top-page-container img {
        -webkit-animation-name: cd-bounce-left;
        -moz-animation-name: cd-bounce-left;
        -o-animation-name: cd-bounce-left;
        animation-name: cd-bounce-left;
    }
    .bouncy.top-page-container h1,
    .top-page-container img {
        -webkit-animation-duration: 0.6s;
        -moz-animation-duration: 0.6s;
        -o-animation-duration: 0.6s;
        animation-duration: 0.6s;
    }
    
    /* == -webkit- */
    @-webkit-keyframes cd-bounce-right {
      0% {
        opacity: .2;
        transform: translateX(-200px);
      }
      60% {
        opacity: .7;
        transform: translateX(15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    @-webkit-keyframes cd-bounce-left {
      0% {
        opacity: .2;
        transform: translateX(200px);
      }
      60% {
        opacity: .7;
        transform: translateX(-15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    /* == -moz- */
    @-moz-keyframes cd-bounce-right {
      0% {
        opacity: .2;
        transform: translateX(-200px);
      }
      60% {
        opacity: .7;
        transform: translateX(15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    @-moz-keyframes cd-bounce-left {
      0% {
        opacity: .2;
        transform: translateX(200px);
      }
      60% {
        opacity: .7;
        transform: translateX(-15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    /* == -o- */
    @-o-keyframes cd-bounce-right {
      0% {
        opacity: .2;
        transform: translateX(-200px);
      }
      60% {
        opacity: .7;
        transform: translateX(15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    @-o-keyframes cd-bounce-left {
      0% {
        opacity: .2;
        transform: translateX(200px);
      }
      60% {
        opacity: .7;
        transform: translateX(-15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    @keyframes cd-bounce-right {
      0% {
        opacity: .2;
        transform: translateX(-200px);
      }
      60% {
        opacity: .7;
        transform: translateX(15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    @keyframes cd-bounce-left {
      0% {
        opacity: .2;
        transform: translateX(200px);
      }
      60% {
        opacity: .7;
        transform: translateX(-15px);
      }
      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    /* == .fadein */
    .fadein-1 {
        animation: fadein .5s;
        -moz-animation: fadein .5s; /* Firefox */
        -webkit-animation: fadein .5s; /* Safari et Chrome */
        -o-animation: fadein .5s; /* Opera */
    }
    .fadein-2 {
        animation: fadein 1s;
        -moz-animation: fadein 1s; /* Firefox */
        -webkit-animation: fadein 1s; /* Safari et Chrome */
        -o-animation: fadein 1s; /* Opera */
    }
    .fadein-3 {
        animation: fadein 1.5s;
        -moz-animation: fadein 1.5s; /* Firefox */
        -webkit-animation: fadein 1.5s; /* Safari et Chrome */
        -o-animation: fadein 1.5s; /* Opera */
    }
    .fadein-4 {
        animation: fadein 2s;
        -moz-animation: fadein 2s; /* Firefox */
        -webkit-animation: fadein 2s; /* Safari et Chrome */
        -o-animation: fadein 2s; /* Opera */
    }
    
    @keyframes fadein {
        from {
            opacity:0;
            margin-top: 20px
        }
        to {
            opacity:1;
            margin-top: 0px;
        }
    }
    
    @-moz-keyframes fadein { /* sur Firefox */
        from {
            opacity:0;
            margin-top: 20px
        }
        to {
            opacity:1;
            margin-top: 0px
        }
    }
    
    @-webkit-keyframes fadein { /* sur Safari et Chrome */
        from {
            opacity:0;
            margin-top: 20px
        }
        to {
            opacity:1;
            margin-top: 0px
        }
    }
    
    @-o-keyframes fadein { /* sur Opera */
        from {
            opacity:0;
            margin-top: 20px
        }
        to {
            opacity: 1;
            margin-top: 0px
        }
    }
}