*, *::before, *::after {
    box-sizing: border-box;
}
html,body{margin:0; padding:0; width:100%; height:100%;}
Zbody{min-width: 1140px;font-family: 'Lato', sans-serif;font-size: 18px;line-height: 1.4;color:#333333}
body {
    font-family: system-ui;
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    width: 100%
}
table, input, select {
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;    
}
section, article {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.no-top-padding {
    padding-top: 0;
    padding-bottom: 1rem;
}
/* mobile */
.mobile {display: none;}
/* links */
a.button, a.button:visited {color:white; text-decoration: none}
a.footer{color:white; text-decoration: underline}
nav a {color: #075055; text-decoration: none}
/* images */
img, object, embed {
    max-width: 100%; !important;
}
img {
    width: 100%; !important;
    margin: 0;
    padding:0
    height: auto;
    vertical-align: middle;
}
img.fixed-reservation {
    display: block;
    margin: auto;
    height: 5rem;
    width: 5rem;
    padding: 5px;
    
}
img.author {
    margin-top: 0.83rem;
    margin-left: 0rem;
}
/* navigation */
.nav-item {font-size: 1em;text-align: center;line-height:min(7rem,100px);text-transform: uppercase;}
.nav-item:hover{color:white;background-color:#0dc9f7;text-decoration:none} 

/* gimp: editer icones avec seuil a 45 */
.icone-medium, .icone-small, .icone-review, .icone-reset-button {    
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    border: none;
    margin-top: 0rem;
    /*margin-bottom: 0.83rem;    */
}
.icone-medium {
    height:7rem;
    width:7rem;
}
.icone-small {
    height:5rem;
    width:5rem;
}
.icone-benefit {
    height: 3rem;
    width: 3rem;
    margin-right: 0.5rem;    
}
.icone-review {
    height:7rem;
    width:17rem;
}
.icone-reset-button {
    height: 10rem;
    width: 13rem;
}
/* titles and text */
h1 {
    margin:1rem;        
}
h1 {
    padding-left: 0.25rem;
}
h2, h3, p {
    padding-left: 0.75rem;
}
h3, p {
    padding-right:1rem;
}

.text-center {
    text-align: center;
}

/* buttons */
.div-white {
    color: #333333;
    background-color: white;
}
.div-blue {
    color: white;
    background-color: #025780;
}
.div-blue_inverted {
    color: #025780;
    background-color: white;
}
.text-white {
    color: white;
}
/* container pour button-cta et button-more */
div.button-cta-container {
    margin-bottom: 1rem;
    padding: 5px;
    text-align: center;
    line-height: 150%;
    border: none;
}
/* tel et reservation */
.button-cta, .button-more {
    border-radius: 4px;
    border: 2px solid white;
    margin: 1em;
    padding: 0.5em 0em 0.5em 0em;
    font-size: 1.5em;
    line-height: 150%;
    text-align: center;
}
.button-center {
    width: min(25rem,75%);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

/* blockquote */
blockquote {
    font-family: Georgia, serif;    
    font-style: italic;
    position: relative;
    /*line-height: 1.4rem;
    margin: 1em 0.5em 1em 2.5em;
    padding-right: 1rem;*/
}
blockquote:before {
    display: block;
    content: "\201C";
    font-size: 4rem;
    position: absolute;
    margin-top: -1.5rem;    
}
blockquote p, article.blog blockquote p {
    font-size: 1.5rem;
    padding: 0em 2em 0em 2em;
    text-align:justify;
}
blockquote footer {background-color: white;}  
/* fancy things */
span.important{font-weight: bold}
input[type=number] {
    font-size: inherit;
    width: 4rem;
    text-align: right;
}
input[type=button] {
    font-size: inherit;
    padding: 1rem;
    margin:1rem;
}
#divForm {padding-right: 1rem;padding-left: 0.75rem}
#prixTotal {
    display: inline-block;
    min-width: 8rem;
    width: 8rem;        
}
table.concurrents {
    width: 100%;text-align: center;border:black 1px dotted;
    background-color: #025780; color:white;
}
#map{height: 100%}
.previousPrice {color:red;text-decoration: line-through;padding-right: 0.5rem}

@media (max-width: 540px) {
    body{min-width: 280px; max-width: 100%; font-size: 1rem; width: 100%}    
    .nomobile{display: none}
    .mobile{display: block}
    
    h1,h2,h3 {text-align: center}  
    
    .nav-last-item{margin-bottom: -1rem} /* pour corriger la margin de button-cta-container */
    
.icone-medium {
    height:5rem;
    width:5rem;
}
.icone-small, img .fixed-reservation {
    height:3rem;
    width:3rem;
}
.icone-benefit {
    height: 2rem;
    width: 2rem;     
}
    blockquote:before {
    margin-top: 0rem;    
}
    blockquote p, article .blog blockquote p {margin: 0rem;padding: 2.5em 0.5em 0em 1em; line-height: 2rem; font-size: 1rem}
}
