
body { color: #212529; font-size: 1.1em; font-weight: 300; }
article { min-height: 600px; }
h1, .h1 { font-size: 2em; text-transform: uppercase; text-align: center; line-height: 1.3em; margin-top: 30px; margin-bottom: 30px; color: #000; }
h2, .h2 { font-size: 1.5em; text-transform: uppercase; margin-top: 50px; margin-bottom: 30px; }
h3, .h3 { font-size: 1.1em; text-transform: uppercase; }
li { line-height: 1.8em; }
strong { font-weight: 500; }
.source-caption { font-size: 0.8em; line-height: 0.5em; }
p.section-title { font-size: 1em; text-transform: uppercase; font-weight: bold; }
p.txt-white { color: #FFF; }

/* Backgrounds */
.grey-bg { background-color: #777;}

/* Links */
a { color: #0a0a24; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; transition: all 0.2s; text-decoration: underline; font-weight: 600; }
a.unstyled { text-decoration: none; }
a:focus, a:hover { color: #0a0a24; }
a.txt-white { color: #FFF; text-decoration: underline; }
a.txt-white:focus, a.txt-white:hover { color: #FFF; }
h1 a.unstyled { color: #000; text-decoration: none; }

/* Links with pill design */
/*.keyword-pill-container { display: inline-grid; overflow-x: scroll; overflow-y: auto; }*/
.keyword-pill-row { display: inline-flex; flex-wrap: wrap; overflow-y: hidden; flex-direction: row; }
a.keyword-pill { display: inline-flex; color: #777; font-size: 0.7em; text-transform: uppercase; font-weight: bold; border: 1px solid #777; border-radius: 50rem; padding: 0.5em 1em; margin-top: 5px; margin-left: 3px; }
a.keyword-pill:focus, a.keyword-pill:hover { background-color: #0a0a24; border-color: #0a0a24; color: #FFF; }

/* Buttons */
.btn, .btn:hover, .btn:focus, .btn:visited { background-color: #0a0a24; color: #FFF; text-transform: uppercase; font-weight: bold; line-height: 2em; padding: 10px; }
.btn-lined, .btn-lined:hover, .btn-lined:focus, .btn-lined:visited { border: 5px solid #FFF; color: #FFF; text-transform: uppercase; font-weight: bold; line-height: 2em; padding: 10px; border-radius: 10px; }
.cta-box-btn, .cta-box-btn:hover, .cta-box-btn:focus, .cta-box-btn:visited { background-color: #FFF; color: #0a0a24; text-transform: uppercase; font-weight: bold; line-height: 2em; padding: 10px; }

/* Highlights */
.highlight { background-image: linear-gradient(120deg, #0a0a24 0%, #0a0a24 40%); background-repeat: no-repeat; background-size: 100% 0.4em; background-position: 0 90%; padding: 0 5px 0 5px; }

/* Tables */ 
.table-borderless td, .table-borderless th { border: none; }

/* Margin & Padding */ 
.mg-bt-20 { margin-bottom: 20px; }
.mg-top-20 { margin-top: 20px; }
.mg-all-10 { margin: 10px; }
.mg-all-20 { margin: 20px; }
.no-mg { margin: 0 !important;}
.mg-bt-100 { margin-bottom: 100px; }
.mg-top-100 { margin-top: 100px; }

.pd-bt-20 { padding-bottom: 20px; }
.pd-top-20 { padding-top: 20px; }
.pd-all-20 { padding: 20px; }

/* Accordions */
.accordion-header button { color: #212529 !important; text-transform: uppercase; font-weight: 500; }
.accordion-button, .accordion-button:not(.collapsed) { background-color: #EEE; }

/* Carousel */
.carousel-indicators button { background-color: #0a0a24 !important; }

/* Header (navbar) */
.navbar { background-color: #0a0a24; }
.nav-item { text-transform: uppercase; font-weight: bold !important; }
.nav-item a { color: #FFF !important; }

/* Footer */
footer { margin-top: 50px; background-color: #0a0a24; color: #FFF; padding-top: 50px; padding-bottom: 50px; }

/* Cards */
.card { border: 5px solid #EEE; }
.card-recommanded { border: 5px solid rgb(204, 84, 112); }
.card-title { font-size: 1em; font-weight: bold; text-transform: uppercase; color: #0a0a24; }
.card-text { font-size: 0.9em; font-weight: normal; }

.shop-card { min-height: 330px !important; }

.cluster-card { color: #FFF !important; font-weight: bold; padding: 1em; border-radius: 0.5em; }
.cluster-card h3 { color: #FFF !important; padding-bottom: 1em; }

.author-card { border: 5px solid #0a0a24; background-color: #0a0a24; }
.author-card img { border: 5px solid #EEE; }

.review-rate-card { border: 5px solid #0a0a24; background-color: #0a0a24; color: #EEE; }
.review-rate-card .rate-label { font-size: 0.8em; font-weight: 500; text-transform: uppercase; }
.review-rate-card .rate-score { font-size: 1.4em; font-weight: 700; line-height: 1.1em; }

.product-card .card-title { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-card .card-text { height: 9em; overflow: hidden; text-overflow: ellipsis; }

/* Images */
.img-rounded { border-radius: 1rem; }
.img-circle { border-radius: 50rem; }
.related-pill { width: 80px; height: 80px; -webkit-border-radius: 80px; -webkit-background-clip: padding-box; -moz-border-radius: 80px; -moz-background-clip: padding; border-radius: 80px; border: 5px solid #0a0a24; background-clip: padding-box; margin-left: auto; margin-right: auto; float: left; background-size: cover; background-position: center center;
}

/* Badges */
.badge-recommandation { background-color: rgb(204, 84, 112); position: absolute; top: 10px; left: 10px; }
.badge-opening-hours { color: #212529; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.opened-circle { margin-right: 5px; border-radius: 99px; height: 8px; width: 8px; background-color: rgb(108, 155, 125); display: inline-flex; flex-shrink: 0; }
.closed-circle { margin-right: 5px; border-radius: 99px; height: 8px; width: 8px; background-color: rgb(204, 84, 112); display: inline-flex; flex-shrink: 0; }
.badge-subcategories { color: #212529; font-size: 0.8em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background-color: #EEE; padding: 5px; }

/* CTA Box */
.cta-box { background-color: #0a0a24; color: #FFF; border-radius: 8px; padding: 20px; }
.cta-box-title { font-size: 1.5em; text-transform: uppercase; }