/*
Theme Name: Commerce
Theme URI: http://underscores.me/
Author: l'Agence secrète
Author URI: http://agencesecrete.com/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: commerce
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

commerce is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# General
    ## Normalize
    ## Typography
    ## Elements
    ## Forms
    ## Navigation
        ### Links
        ### Menus
    ## Accessibility
    ## Alignments
    ## Clearings
    ## Content
        ### Posts and pages
        ### Comments
    ## Infinite scroll
    ## Media
        ### Captions
        ### Galleries
# Modules
    ## Module - Layout
    ## Module - Themes
    ## Module - Buttons
    ## Module - Mask borders
    ## Module - Overlap
# Pages
# Templates
    ## Template - Header
    ## Template - Footer
    ## Template - Page
    ## Template - Sidebar
    ## Template - 404
# Template parts
    ## Template - Content
    ## Template - Pagination
# Components
    ## Component - Social-networks
# Plugins
    ## Plugin - SiteOrigin Panels
    ## Plugin - Slick
    ## Plugin - FontAwesome
    ## Plugin - Woocommerce
    ## Plugin - TI Woocommerce Wishlist
    ## Plugin - WPML
# Widgets
    ## Widget - Element button
    ## Widget - Texte generique
    ## Widget - Informations de contact
	## Widget - Heures d'ouverture
    ## Widget - Woof
	## Widget - Woocommerce
		### Woocommerce - Widget List of item
# Media Query
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

::-moz-selection {
    background: #000;
    color: #fff;
}

::selection {
    background: #000;
    color: #fff;
}

body.no-scroll {
    position: relative;
    overflow: hidden;
}

.vertical-text > span,
.vertical-text > div {
    display: flex;
    
    transform: rotate(-180deg);
    writing-mode: vertical-lr; /* Vertical - Left to Right */
}

#loading-overlay {
    display: flex;
	justify-content: center;
	align-items: center;
	
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
	
	width: 100%;
    height: 100%;
    background: #fff;
}

.loading {
	width: 200px;
	height: 200px;
	display: inline-block;
	overflow: hidden;
	background: none;
}

.loading-inner {
	width: 100%;
	height: 100%;
	position: relative;
	transform: translateZ(0) scale(1);
	backface-visibility: hidden;
	transform-origin: 0 0;
}

.loading-content {
	position: absolute;
	width: 150px;
	height: 150px;
	border: 10px solid var(--primary-color, #000);
	border-top-color: transparent;
	border-radius: 50%;
}

.loading-content {
	animation: loading-content 1s linear infinite;
	top: 100px;
	left: 100px
}

@keyframes loading-content {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

.loading-content {
	box-sizing: content-box;
}

/*--------------------------------------------------------------
## Normalize
--------------------------------------------------------------*/

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

abbr[title] {
    border-bottom: 1px dotted;
}

a {
    background-color: transparent;
}

b,
strong {
    font-weight: bolder;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border-style: none;
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
    line-height: normal;
	margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: none;
    cursor: pointer;
}

button[disabled],
html input[disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
input[type="submit"][disabled] {
    cursor: default;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
    border: 0;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

input {
    line-height: normal;
}

fieldset {
    border: 1px solid #ccc;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
    border: 0;
	white-space: normal;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

input[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

optgroup {
    font-weight: bold;
}

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

td,
th {
    padding: 0;
}

small {
    font-size: 80%;
}

big {
    font-size: 125%;
}

/*--------------------------------------------------------------
## Typography
--------------------------------------------------------------*/

body,
button,
input,
select,
optgroup,
textarea {
    color: #404040;
    font-family: 'Overpass', sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

h1, h2.page-title {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 6rem;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--primary-color, #000);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1rem;
}

h2 {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    font-weight: 800;
    line-height: 1;
    color: var(--primary-color, #000);
    margin-top: 0;
    margin-bottom: 1rem;
}

h3 {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--primary-color, #000);
    margin-top: 0;
    margin-bottom: 1rem;
}

h4 {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 1rem;
}

h5 {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 600;
    color: var(--primary-color, #000);
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

h6 {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 500;
    color: var(--primary-color, #000);
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

p {
    font-size: 1.1rem;
    margin-bottom: 1.4rem;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    font-style: italic;
    color: #999;
    border-left: solid 5px #ccc;
    padding-left: 1em;
    
    margin: 0 1.5em;
}

address {
    font-style: normal;
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

/*--------------------------------------------------------------
## Elements
--------------------------------------------------------------*/

html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
    box-sizing: inherit;
}

body {
    background: #fff;
    /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

img {
    width: auto;
   	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
    margin: 1em 0;
    /* Extra wide images within figure tags don't overflow the content area. */
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

/*--------------------------------------------------------------
## Forms
--------------------------------------------------------------*/

::-webkit-input-placeholder, /* Chrome/Opera/Safari */
::placeholder {
    color: #000;
    text-transform: uppercase;
    font-size: 0.9em;
    opacity: 1;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select,
body .gform_wrapper .gform_body .gform_fields .gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_wrapper .gform_body .gform_fields .gfield select,
body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    color: #666;
    border: 1px solid var(--primary-color, #000);
    border-radius: 3px;
    padding: 8px 6px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
    color: #111;
}

input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="url"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="number"]:disabled,
input[type="tel"]:disabled,
input[type="range"]:disabled,
input[type="date"]:disabled,
input[type="month"]:disabled,
input[type="week"]:disabled,
input[type="time"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="color"]:disabled,
textarea:disabled,
select:disabled {
    background-color: #ccc;
}

textarea {
    width: 100%;
}

label {
    color: #000;
    font-size: 1em;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
}

input[type="checkbox"],
input[type="radio"] {
    display: none!important;
}

input[type="checkbox"] + label,
input[type="radio"] + label,
input[type="checkbox"] + span,
input[type="radio"] + span {
    position: relative;
	padding-left: 1.5rem!important;
    
    line-height: normal;
    text-transform: none;
    font-weight: 400;
}

input[type="checkbox"] + label::before,
input[type="radio"] + label::before,
input[type="checkbox"] + label::after,
input[type="radio"] + label::after,
input[type="checkbox"] + span::before,
input[type="radio"] + span::before,
input[type="checkbox"] + span::after,
input[type="radio"] + span::after {
    content: "";
    display: block;
	position: absolute;
	
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}

input[type="checkbox"] + label::before,
input[type="radio"] + label::before,
input[type="checkbox"] + span::before,
input[type="radio"] + span::before {
    top: 0;
	left: 0;
	
	width: calc( 0.875em + 1px );
    height: calc( 0.875em + 1px );
	
	border: 1px solid #000;
}

input[type="checkbox"] + label::after,
input[type="radio"] + label::after,
input[type="checkbox"] + span::after,
input[type="radio"] + span::after {
	top: 2px;
	left: 2px;
	
    width: calc( 0.875em - 3px );
    height: calc( 0.875em - 3px );
	
    background-color: #000;
    opacity: 0;
	
	-webkit-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

input[type="checkbox"]:checked + label::after,
input[type="radio"]:checked + label::after,
input[type="checkbox"]:checked + span::after,
input[type="radio"]:checked + span::after {
    opacity: 1;
}

input[type="radio"] + label::before,
input[type="radio"] + label::after,
input[type="radio"] + span::before,
input[type="radio"] + span::after {
	border-radius: 100%;
}

/*--------------------------------------------------------------
## Navigation
--------------------------------------------------------------*/

/*--------------------------------------------------------------
### Links
--------------------------------------------------------------*/

a,
a[href^="mailto:"] {
    color: #000;
    
    text-decoration: none!important;
    
    -webkit-transition: color 0.2s;
	-moz-transition: color 0.2s;
	-o-transition: color 0.2s;
	transition: color 0.2s;
}

a:visited,
a[href^="mailto:"]:visited {
    color: #000;
}

a:hover,
a:focus,
a:active,
a[href^="mailto:"]:hover,
a[href^="mailto:"]:focus,
a[href^="mailto:"]:active {
    color: #000;
    outline: 0;
}

/*--------------------------------------------------------------
### Menus
--------------------------------------------------------------*/

.menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation ul {
    display: block;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation ul li {
    position: relative;
    display: inline-block;
    line-height: 1;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

.main-navigation ul li a {
    position: relative;
    padding: 0.6em 0.8em;
    
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.025em;
    color: #000;
    line-height: 1.4;
    text-transform: uppercase;
    outline: 0;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.main-navigation ul li a:hover,
.main-navigation ul li a.focus {
    color: var(--primary-color, #000);
}

.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current-page-item > a,
.main-navigation ul li.current_page_ancestor > a,
.main-navigation ul li.current-menu-ancestor > a {
    color: var(--primary-color, #ccc);
}

.main-navigation ul ul {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 99999;
    
    min-width: 260px;
    padding-top: 5px;
    background-clip: content-box;
    background-color: #eee;
    
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.main-navigation ul ul li {
    display: block;
}

.main-navigation ul ul li a {
    font-size: 1em;
    padding: 0.8em;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
    display: block;
}

.main-navigation ul ul li:hover > a,
.main-navigation ul ul li.focus > a,
.main-navigation ul ul li.current-menu-item > a,
.main-navigation ul ul li.current-page-item > a,
.main-navigation ul ul li.current_page_ancestor > a,
.main-navigation ul ul li.current-menu-ancestor > a {
}

.main-navigation ul ul ul {
    left: 100%;
    top: 0;
    
    margin-left: -1px;
    padding-top: 0;
    background-clip: border-box;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
    overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    float: left;
    width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    float: right;
    text-align: right;
    width: 50%;
}

/*--------------------------------------------------------------
### Top bar
--------------------------------------------------------------*/

.top {
    padding:10px 0;
    border-bottom: solid 1px #ccc;
}

.top-reseaux-sociaux {
    margin-left: auto;
}

.message-important-wrap {
    color: #666;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 0.8em;
}

/*--------------------------------------------------------------
## Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */

#content[tabindex="-1"]:focus {
    outline: 0;
}

/*--------------------------------------------------------------
## Alignments
--------------------------------------------------------------*/

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------------------
## Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

/*--------------------------------------------------------------
## Content
--------------------------------------------------------------*/

/*--------------------------------------------------------------
### Posts and pages
--------------------------------------------------------------*/

.sticky {
    display: block;
}

.updated:not(.published) {
    display: none;
}

.site-main article.post .entry-content > p:first-child:not(:only-child) {
    font-size: 1.25em;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
### Comments
--------------------------------------------------------------*/

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/*--------------------------------------------------------------
## Infinite scroll
--------------------------------------------------------------*/

/* Globally hidden elements when Infinite Scroll is supported and in use. */

.infinite-scroll .posts-navigation,
/* Older / Newer Posts Navigation (always hidden) */

.infinite-scroll.neverending .site-footer {
    /* Theme Footer (when set to scrolling) */
    display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */

.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
## Media
--------------------------------------------------------------*/

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
    max-width: 100%;
}

/*--------------------------------------------------------------
### Captions
--------------------------------------------------------------*/

.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

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

/*--------------------------------------------------------------
### Galleries
--------------------------------------------------------------*/

.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}

/*--------------------------------------------------------------
# Modules
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Module - Layout
--------------------------------------------------------------*/

.full {
    padding-left: 1rem!important;
    padding-right: 1rem!important;
}

.boxed {
    width: 100%;
    max-width: 1250px;
    margin-right: auto!important;
    margin-left: auto!important;
    padding-left: 1rem!important;
    padding-right: 1rem!important;
}

.boxed-half-left {
    padding-left: calc((100vw - 1250px) / 2)!important;
}

.boxed-half-right {
    padding-right: calc((100vw - 1250px) / 2)!important;
}

.gauche {
    text-align: left;
}

.droite {
    text-align: right;
}

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

.layout-flex {    
    display: flex!important;
    flex-direction: row;
    flex-wrap: wrap;

    margin-left: -1rem;
    margin-right: -1rem;
}

.layout-flex > * {
    padding-left: 1rem;
    padding-right: 1rem;
}

.layout-flex.layout-gapless {
    margin-left: 0;
    margin-right: 0;
}

.layout-flex.layout-gapless > * {
    padding-left: 0;
    padding-right: 0;
}

.layout-flex.layout-full > * {
    flex-grow: 1;
}

.layout-flex.flex-direction-row {
    flex-direction: row;
}

.layout-flex.flex-direction-row-reverse {
    flex-direction: row-reverse;
}

.layout-flex.flex-direction-column {
    flex-direction: column;
}

.layout-flex.flex-direction-column-reverse {
    flex-direction: column-reverse;
}

.layout-flex.flex-wrap {
    flex-wrap: wrap;
}

.layout-flex.flex-wrap-nowrap {
    flex-wrap: nowrap;
}

.layout-flex.align-items-flex-start {
    align-items: flex-start;
}

.layout-flex.align-items-center {
    align-items: center;
}

.layout-flex.align-items-flex-end {
    align-items: flex-end;
}

.layout-flex.justify-content-flex-start {
    justify-content: flex-start;
}

.layout-flex.justify-content-center {
    justify-content: center;
}

.layout-flex.justify-content-flex-end {
    justify-content: flex-end;
}

.layout-flex.flex-direction-row-reverse {
    flex-direction: row-reverse;
}

.layout-flex.justify-content-space-between {
    justify-content: space-between;
}

.layout-flex.justify-content-space-around {
    justify-content: space-around;
}

.layout-flex.justify-content-evenly {
    justify-content: space-evenly;
}

.align-self-flex-start {
    align-self: flex-start;
}

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

.align-self-flex-end {
    align-self: flex-end;
}

.layout-flex .layout-fit {
    min-width: 0;
    
    -webkit-flex: 1; /* Safari 6.1+ */
    -ms-flex: 1; /* IE 10 */ 
    flex: 1;
}

.layout-flex .layout-max {
    min-width: 0;
    
    -webkit-flex: 1 1 auto; /* Safari 6.1+ */
    -ms-flex: 1 1 auto; /* IE 10 */ 
    
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
}

.layout-flex .layout-min {
    min-width: 0;
    
    -webkit-flex: 0 0 auto; /* Safari 6.1+ */
    -ms-flex: 0 0 auto; /* IE 10 */ 
    
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
}

.layout-flex .layout-100 {
    width: 100%;
}

.layout-flex .layout-95 {
    width: 95%;
}

.layout-flex .layout-90 {
    width: 90%;
}

.layout-flex .layout-85 {
    width: 85%;
}

.layout-flex .layout-80 {
    width: 80%;
}

.layout-flex .layout-75 {
    width: 75%;
}

.layout-flex .layout-70 {
    width: 70%;
}

.layout-flex .layout-66 {
    width: 66.66%;
}

.layout-flex .layout-65 {
    width: 65%;
}

.layout-flex .layout-60 {
    width: 60%;
}

.layout-flex .layout-55 {
    width: 55%;
}

.layout-flex .layout-50 {
    width: 50%;
}

.layout-flex .layout-45 {
    width: 45%;
}

.layout-flex .layout-40 {
    width: 40%;
}

.layout-flex .layout-35 {
    width: 35%;
}

.layout-flex .layout-33 {
    width: 33.33%;
}

.layout-flex .layout-30 {
    width: 30%;
}

.layout-flex .layout-25 {
    width: 25%;
}

.layout-flex .layout-20 {
    width: 20%;
}

.layout-flex .layout-15 {
    width: 15%;
}

.layout-flex .layout-10 {
    width: 10%;
}

.layout-flex .layout-5 {
    width: 5%;
}

/*--------------------------------------------------------------
## Module - Themes
--------------------------------------------------------------*/

/* Dark Theme */

.dark-theme ::-moz-selection {
    background: #fff;
    color: #000;
}

.dark-theme ::selection {
    background: #fff;
    color: #000;
}

.dark-theme {
    background-color: #000;
}

.dark-theme,
.dark-theme h1,
.dark-theme h3,
.dark-theme h4,
.dark-theme h5,
.dark-theme h6,
.dark-theme label,
.dark-theme input[type="checkbox"]:checked + label,
.dark-theme input[type="radio"]:checked + label {
    color: #fff;
}

.dark-theme p,
.dark-theme ul,
.dark-theme ol,
.dark-theme span,
.dark-theme svg {
    color: #fff;
}

.dark-theme input[type="text"],
.dark-theme input[type="email"],
.dark-theme input[type="url"],
.dark-theme input[type="password"],
.dark-theme input[type="search"],
.dark-theme input[type="number"],
.dark-theme input[type="tel"],
.dark-theme input[type="range"],
.dark-theme input[type="date"],
.dark-theme input[type="month"],
.dark-theme input[type="week"],
.dark-theme input[type="time"],
.dark-theme input[type="datetime"],
.dark-theme input[type="datetime-local"],
.dark-theme input[type="color"],
.dark-theme textarea,
.dark-theme select,
body .dark-theme .gform_wrapper .gform_body .gform_fields .gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .dark-theme .gform_wrapper .gform_body .gform_fields .gfield select,
body .dark-theme .gform_wrapper .gform_body .gform_fields .gfield textarea {
    background-color: #fff;
}

.dark-theme input[type="checkbox"] + label::before,
.dark-theme input[type="radio"] + label::before,
.dark-theme input[type="checkbox"] + label::after,
.dark-theme input[type="radio"] + label::after {
    border-color: #fff;
}

.dark-theme input[type="checkbox"] + label::after,
.dark-theme input[type="radio"] + label::after {
    background-color: #fff;
}

/*--------------------------------------------------------------
## Module - Buttons
--------------------------------------------------------------*/

a.btn,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	display: inline-block;
}

a.btn,
input[type="button"],
input[type="reset"],
input[type="submit"],
.tinv-wishlist button.button.tinvwl_button_view,
.tinv-wishlist button.button.tinvwl_button_close {
    font-family: 'Barlow', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    letter-spacing: 0.05em;
    
	padding: 0.75rem 2.25rem;
    background-color: transparent;
    border-color: var(--primary-color, #000);
    color: var(--primary-color, #000);
    border-style: solid;
    border-width: 1px;
    border-radius: 3px;
	
	-webkit-appearance: none;
    -moz-appearance: none;
	appearance: none;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

a.btn:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.tinv-wishlist button.button.tinvwl_button_view:hover,
.tinv-wishlist button.button.tinvwl_button_close:hover {
    background-color: var(--primary-color, #000);
    border-color: var(--primary-color, #000);
    color: #fff;
}

a.btn:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
.tinv-wishlist button.button.tinvwl_button_view:focus,
.tinv-wishlist button.button.tinvwl_button_close:focus {
	outline: 0;
}

a.btn-couleur,
a.btn-couleur:visited,
input[type="button"],
input[type="button"]:visited,
input[type="reset"],
input[type="reset"]:visited,
input[type="submit"],
input[type="submit"]:visited,
.tinv-wishlist button.button.tinvwl_button_view,
.tinv-wishlist button.button.tinvwl_button_view:visited,
.tinv-wishlist button.button.tinvwl_button_close,
.tinv-wishlist button.button.tinvwl_button_close:visited {
    background-color: var(--primary-color, #000);
    border-color: var(--primary-color, #000);
    color: #fff;
}

a.btn-couleur:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.tinv-wishlist button.button.tinvwl_button_view:hover,
.tinv-wishlist button.button.tinvwl_button_close:hover {
    background-color: transparent;
    border-color: var(--primary-color, #000);
    color: var(--primary-color, #000);
}

a.btn-noir,
a.btn-noir:visited {
    background-color: transparent;
    border-color: #000000;
    color: #000000;
}

a.btn-noir:hover {
    background-color: #000000;
    color: #ffffff;
}

a.btn-blanc,
a.btn-blanc:visited {
    background-color: transparent;
    border-color: #ffffff;
    color: #ffffff;
}

a.btn-blanc:hover {
    background-color: #ffffff;
    color: #000000!important;
}

a.btn-block {
    display: block;
}

/*--------------------------------------------------------------
## Module - Mask borders
--------------------------------------------------------------*/

.mask-border {
	position: relative;
	background-clip: content-box;
    z-index: 0;
}

.mask-border::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: inherit;
    z-index: -1;
}

mask-border.mb-top-up,
mask-border.mb-top-down {
    padding-top: 200px;
}

mask-border.mb-bottom-up,
mask-border.mb-bottom-down {
    padding-bottom: 200px;
}

mask-border.mb-top-up::before {
    -webkit-clip-path: polygon(100% 0px, 0px 200px, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0px, 0px 200px, 0% 100%, 100% 100%);
}

mask-border.mb-top-down::before {
    -webkit-clip-path: polygon(100% 200px, 0 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 200px, 0 0, 0% 100%, 100% 100%);
}

mask-border.mb-bottom-up::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 200px), 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 200px), 0% 100%);
}

mask-border.mb-bottom-down::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% calc(100% - 200px));
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% calc(100% - 200px));
}

mask-border.mb-top-up.mb-bottom-up::before {
    -webkit-clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
    clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
}

mask-border.mb-top-up.mb-bottom-down::before {
    -webkit-clip-path: polygon(0 200px, 100% 0, 100% 100%, 0 calc(100% - 200px));
    clip-path: polygon(0 200px, 100% 0, 100% 100%, 0 calc(100% - 200px));
}

mask-border.mb-top-down.mb-bottom-up::before {
    -webkit-clip-path: polygon(0 0, 100% 200px, 100% calc(100% - 200px), 0 100%);
    clip-path: polygon(0 0, 100% 200px, 100% calc(100% - 200px), 0 100%);
}

mask-border.mb-top-down.mb-bottom-down::before {  
    -webkit-clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
    clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
}

mask-border.mb-bottom-up + mask-border.mb-top-up,
mask-border.mb-bottom-down + mask-border.mb-top-down {
    margin-top: -200px!important;
}

/*--------------------------------------------------------------
## Module - Overlap
--------------------------------------------------------------*/

.ol-orig {
    position: relative;
}

.ol-elem {
    position: relative;
    display: block;
    width: 100%;
    z-index: 1;
}

.ol-orig .ol-elem.ol-abs {
    position: absolute;
}

.ol-orig .ol-elem.ol-abs-bottom {
    bottom: 0;
}

.ol-elem.ol-os-bottom-s {
    top: 30px;
}
.ol-elem.ol-os-bottom-s.ol-ng-bottom {
    margin-top: -30px;
}

.ol-elem.ol-os-bottom-m {
    top: 150px;
}
.ol-elem.ol-os-bottom-m.ol-ng-bottom {
    margin-top: -150px;
}

.ol-elem.ol-os-bottom-l {
    top: 600px;
}
.ol-elem.ol-os-bottom-l.ol-ng-bottom {
    margin-top: -600px;
}

/* --- */

.ol-orig .ol-elem.ol-abs-top {
    top: 0;
}

.ol-elem.ol-os-top-s {
    bottom: 30px;
}
.ol-elem.ol-os-top-s.ol-ng-top {
    margin-bottom: -30px;
}

.ol-elem.ol-os-top-m {
    bottom: 150px;
}
.ol-elem.ol-os-top-m.ol-ng-top {
    margin-bottom: -150px;
}

.ol-elem.ol-os-top-l {
    bottom: 600px;
}
.ol-elem.ol-os-top-l.ol-ng-top {
    margin-bottom: -600px;
}

/* --- */

.ol-orig .ol-elem.ol-abs-left {
    left: 0;
}

.ol-elem.ol-os-left-s {
    right: 30px;
}
.ol-elem.ol-os-left-s.ol-ng-left {
    margin-right: -30px;
}

.ol-elem.ol-os-left-m {
    right: 150px;
}
.ol-elem.ol-os-left-m.ol-ng-left {
    margin-right: -150px;
}

.ol-elem.ol-os-left-l {
    right: 600px;
}
.ol-elem.ol-os-left-l.ol-ng-left {
    margin-right: -600px;
}

/* --- */

.ol-orig .ol-elem.ol-abs-right {
    right: 0;
}

.ol-elem.ol-os-right-s {
    left: 30px;
}
.ol-elem.ol-os-right-s.ol-ng-right {
    margin-left: -30px;
}

.ol-elem.ol-os-right-m {
    left: 150px;
}
.ol-elem.ol-os-right-m.ol-ng-right {
    margin-left: -150px;
}

.ol-elem.ol-os-right-l {
    left: 600px;
}
.ol-elem.ol-os-right-l.ol-ng-right {
    margin-left: -600px;
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Templates
--------------------------------------------------------------*/

.site {
    overflow: hidden auto;
    overflow-x: hidden;
    overflow-y: auto;
}

.no-sidebar .site-content .layout-flex .layout-content {
    width: 100%;
}

.no-sidebar .site-content .layout-flex .layout-sidebar {
    display: none;
}

.page-header {
    position: relative;
    z-index: 0;
    padding: 60px 0;
    background-size: cover;
    background-position: center;
}

.page-header::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
    z-index: -1;
    background-color: var(--primary-color, #000);
}

.page-title {
    margin: 0;
    color: #fff;
}

/*--------------------------------------------------------------
## Template - Header
--------------------------------------------------------------*/

.layout-nav-actions {
    margin-left: auto;
    line-height: 1;
}

.nav-wrap {
    width: 100%;
    z-index: 999;
    
    padding: 40px 0 20px;
    background-color: #fff;
    color: #000;
}

.nav-wrap.fixed {
    position: fixed;
    top: 0;
    
    animation: slideDown 0.3s;
    -o-animation: slideDown 0.3s;
    -moz-animation: slideDown 0.3s;
    -webkit-animation: slideDown 0.3s;
}

@keyframes slideDown {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}

.nav-wrap svg {
    color: #000;
}

.nav-action .icon svg {
    vertical-align: bottom;
}

.nav-action .icon svg,
.nav-action .icon a.wishlist_products_counter::before {
	font-size: 25px;
}

.nav-action .icon a.wishlist_products_counter.top_wishlist-heart::before {
	transform: scale(1.25);
}

.nav-action.nav-action-menu {
    display: none;
}

.menu-button {
    position: relative;
    z-index: 100000;

    padding: 0;
    border: 0;
    background-color: transparent;
    
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    outline: 0;
}
.menu-button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 40px;
    height: 40px;
}
.menu-button .menu-bar {
    width: 35px;
    height: 2px;
    background-color: #000;
    margin-bottom: 11px;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.menu-button #bar-3 {
    width: 20px;
    margin-left: auto;
    margin-bottom: 0;
}
.menu-button:hover #bar-3 {
    width: 35px;
}
.menu-button.toggled #bar-1 {
	transform: rotate(45deg);
	margin-bottom: -2px;
}
.menu-button.toggled #bar-2 {
	opacity: 0;
    margin: 0;
}
.menu-button.toggled #bar-3 {
    width: 35px;
    transform: rotate(-45deg);
    margin-top: -2px;
}

.logo-wrap {
    margin-top: -20px;
}

#logo {
    position: relative;
    z-index: 100000;
    
    width: 100%;
    max-width: 200px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 1em;
    
    -webkit-transition: transform 0.3s;
    -moz-transition: transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
}

#logo:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}

#logo.mini {
	max-width: 100px;
}

#logo a {
    display: block;
}

#scroll-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    
    z-index: 10000;
    
    opacity: 0;
    visibility: hidden;
    
    -webkit-transition: opacity 0.3s, visibility 0.3s;
    -moz-transition: opacity 0.3s, visibility 0.3s;
    -o-transition: opacity 0.3s, visibility 0.3s;
    transition: opacity 0.3s, visibility 0.3s;
}

#scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

#scroll-top svg {
    color: #fff;
}

#scroll-top a {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    outline: none;
    cursor: pointer;
    
    box-sizing: content-box;
    padding: 0.3em;
    font-size: 1.6em;
    
    background-color: rgba(0,0,0,0.7);
    
    -webkit-border-radius: 100%;
    border-radius: 100%;
}

#scroll-top .svg-inline--fa {
    width: 1em;
    vertical-align: top;
}

/*--------------------------------------------------------------
## Template - Footer
--------------------------------------------------------------*/

footer .widget ul.menu li {
    margin: 0;
}

.site-footer {
    background-color: #000;
    color: #fff;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h6 {
    color: #fff;
}

.site-footer a,
.site-footer a:visited {
    color: #fff;
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--primary-color, #fff);
}

.site-footer svg {
    color: #fff;
}

.footer-wrap {
    min-height: 300px;
    padding: 3rem 0;
}

.footer-widget:not(:last-child) {
    margin-bottom: 2rem;
}

.footer-logo {
    display: inline-block;
    width: 100%;
    max-width: 250px;
}

.legal-wrap {
    padding: 2rem 0;
}

.legal-wrap .widget {
    margin-bottom: 0;
}

.legal-wrap .widget-title {
    display: none;
}

.legal-wrap .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.legal-wrap .menu a {
    font-size: 0.7em;
    text-transform: uppercase;
}

.legal-wrap .menu li:not(:last-child)::after {
    content: "|";
    display: inline-block;
    padding: 0 1rem;
    line-height: 1;
    font-size: 1ex;
    vertical-align: middle;
}

.copyright-wrap {
    border-top: 1px solid var(--primary-color, #fff);
    padding: 15px 0;
    font-size: 0.8em;
}

.copyright-wrap a,
.copyright-wrap a:visited {
    color: #fff;
}

.copyright-wrap a:hover,
.copyright-wrap a:focus {
    color: var(--primary-color, #fafafa);
}

.os_credit {
    text-align: right;
}

/*--------------------------------------------------------------
## Template - Page
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Template - Frontpage
--------------------------------------------------------------*/

.accueil-gallery,
.accueil-gallery button,
.accueil-gallery input,
.accueil-gallery select,
.accueil-gallery textarea {
    color: #fff;
}

.accueil-gallery .slick-track {
    display: flex;
    align-items: stretch;
}

.accueil-gallery .accueil-gallery-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;

    position: relative;
    z-index: 0;

    padding: 3rem 0;
    min-height: 520px;
    height: inherit;
    text-align: center;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.accueil-gallery.slick-initialized .accueil-gallery-slide {
    display: flex;
}

.accueil-gallery .accueil-gallery-slide::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
    z-index: -1;
    background-color: var(--primary-color, #000);
}

.accueil-gallery .accueil-gallery-titre {
    font-size: 6rem;
    font-weight: 600;
    color: currentColor;
}

.accueil-gallery .accueil-gallery-description {
    line-height: 1.8; 
    font-weight: 300;
    max-width: 1000px;
    margin: 0 auto;
}

/*--------------------------------------------------------------
## Template - Sidebar
--------------------------------------------------------------*/

.sidebar .menu ul li {
    width: 100%;
}

/*--------------------------------------------------------------
## Template - 404
--------------------------------------------------------------*/

section.not-found .entry-content p {
    font-size: 1em;
}

/*--------------------------------------------------------------
# Template parts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Template - Content
--------------------------------------------------------------*/

.entry-thumbnail a {
    display: block;
}

.entry-thumbnail a:hover {}

.entry-thumbnail img {
    width: 100%;
    height: 30vw;
    min-height: 200px;
    max-height: 300px;
    
    object-fit: cover;
    object-position: center;
}

.entry-header {
    margin-top: 2em;
}

.entry-title {
    margin-top: 0;
}

.entry-title a {
    color: inherit;
}

.entry-meta {
    margin: 0.6em 0;
    line-height: 1;
}

.entry-date {
    font-size: 0.8em;
    line-height: 1;
    color: #000;
}

.entry-category,
.entry-tags {
    margin: 0.4em 0;
}

.entry-category a,
.entry-tags a {
    display: inline-block;
    
    color: #000;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.entry-category a:not(:last-child)::after,
.entry-tags a:not(:last-child)::after {
    content: "|";
    display: inline-block;
    margin: 0 0.5em;
}

/*--------------------------------------------------------------
## Template - Pagination
--------------------------------------------------------------*/

.pagination-wrapper {
    margin-top: 3em;
}
.pagination .nav-links {
    text-align: center;
}
.pagination .nav-links ul.page-numbers {
    letter-spacing: 0;
    line-height: 1;
    
    margin: 0;
    padding: 0;
}
.pagination .nav-links li {
    display: inline-block;
    
    margin: 0 0.4em;
    padding: 0;
    
    vertical-align: top;
}
.pagination .nav-links li:first-child {
    margin-left: 0;
}
.pagination .nav-links li:last-child {
    margin-right: 0;
}
.pagination .nav-links li .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.6em;
    height: 1.6em;
    font-size: 1em;
    
    border: 2px solid #000;
    
    color: #000;
    font-weight: 400;
    
    -webkit-transition: color 0.2s, background-color 0.2s;
    -moz-transition: color 0.2s, background-color 0.2s;
    -o-transition: color 0.2s, background-color 0.2s;
    transition: color 0.2s, background-color 0.2s;
}
.pagination .nav-links li .page-numbers:hover,
.pagination .nav-links li .page-numbers:focus {
    background-color: #000;
    color: #fff;
}
.pagination .nav-links li .page-numbers.current,
.pagination .nav-links li .page-numbers.current:hover,
.pagination .nav-links li .page-numbers.current:focus {
    background-color: transparent;
    border-color: #666;
    color: #666;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Component - Social-networks
--------------------------------------------------------------*/

.reseaux-sociaux-wrap {
    display: inline-flex;
    vertical-align: top;
}

.reseau-social {
    display: flex;
    justify-content: center;
    align-items: center;
    
	width: 1em;
	height: 1em;
    font-size: 1.6rem;

    margin: 0 1rem 0 0;
}

.reseau-social:last-child {
    margin: 0;
}

.reseau-social:hover,
.reseau-social:focus {
    color: currentColor;
}

.reseau-social svg {
    -webkit-transition: transform 0.3s;
    -moz-transition: transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
}

.reseau-social:hover svg {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Plugin - SiteOrigin Panels
--------------------------------------------------------------*/

.panel-layout .panel-layout {
    margin-left: -1rem;
    margin-right: -1rem;
}

.panel-grid {
    position: relative;
}

.panel-row-style:not(.background-display-tile) {
    background-repeat: no-repeat;
}

.panel-row-style.background-display-auto {
    background-size: auto auto;
}

.panel-row-style.background-display-cover {
    background-size: cover;
}

.panel-row-style.background-display-contain {
    background-size: contain;
}

.panel-row-style.background-display-stretch {
    background-size: 100% 100%;
}

.panel-row-style.background-display-full-width {
    background-size: 100% auto;
}

.panel-row-style.background-display-full-height {
    background-size: auto 100%;
}

.panel-row-cell-width-auto > .panel-grid-cell {
    width: auto!important;
}

/*--------------------------------------------------------------
## Plugin - Gravity Form
--------------------------------------------------------------*/

/**
 * CSS Targeting Examples
 * https://docs.gravityforms.com/css-targeting-examples/
 */

/**
 * Form Wrapper
 *
 * Contains the entire Gravity Form
 */

body .gform_wrapper {
    margin: 0;
}

body .gform_wrapper .gform_ajax_spinner {
    width: auto;
    position: absolute;
    right: -26px;
    top: calc(50% - 8px);
}

/**
 * Form Body
 */

/* Form List Items */
/* Individual list items containing each form element */

body .gform_wrapper .gform_body .gform_fields .gfield {
    display: inline-block;
    width: 100%;
    
    margin-top: 1rem!important;
    margin-bottom: 1rem!important;
    padding-left: 0!important;
    padding-right: 0!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield::before {
    content: none!important;
}
    
body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half,
body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half {
    max-width: calc(50% - 1rem)!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half {
    margin-right: 1rem!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half {
    margin-left: 1rem!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
    max-width: calc(33.3% - 1rem)!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third {
    margin-right: 1rem!important;
}
body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
    margin-left: 1rem!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.field_admin_only {
    display: inline!important;
    margin-top: 0!important;
    margin-bottom: 0!important;
}

/* Input Field Container */
/* Wraps the actual form element inside the containing list item */

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container {
    margin-top: 0!important;
    line-height: 0;
}

/* Input Field Description Container */
/* Contains the field description inside the containing list item */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_description {
    font-size: 0.6rem;
    padding-right: 1rem!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.field_description_below .gfield_description {
    margin-top: 0.5rem;
    padding-top: 0;
    font-weight: 400;
    font-style: italic;
    line-height: 1;
}

/* Standard Field Label */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
    display: inline-block;
    margin-top: 0!important;
    margin-bottom: 1rem;
}

body .gform_wrapper .gform_body .gform_fields .gfield_checkbox label,
body .gform_wrapper .gform_body .gform_fields .gfield_radio label {
    font-size: 0.95rem;
}

body .gform_wrapper .gform_body .gform_fields .gfield_radio label {
    margin: 0;
}

/* Required Field Indicator (Asterisk) */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
    color: #e00000;
}

/**
 * Standard Fields
 */

/* Text Field */

body .gform_wrapper .gform_body .gform_fields .gfield.hidden_label input {
    margin-top: 0;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text] {
    max-width: 100%;
    margin-bottom: 0;
}

/* Textarea Field */

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    margin-bottom: 0;
}

/* Select Field */

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select {
    white-space: nowrap;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_select::after {
	content: "\f107";
	display: none;
    font-family: "Font Awesome 5 Pro";
	font-weight: 300;
}

body .gform_wrapper .gform_body .gform_fields .gfield select::-ms-expand {
    display: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield select {
    white-space: normal;
    
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    
    padding-right: 26px!important;
}

body .gform_wrapper .gform_body .gform_fields .gfield select + .svg-inline--fa[data-fa-pseudo-element=":after"] {
    position: relative;
	right: 20px;
	top: 4px;
	color: #000;
	font-size: 26px;
    pointer-events: none;
    
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
}

body .gform_wrapper .gform_body .gform_fields .gfield select:focus + .svg-inline--fa[data-fa-pseudo-element=":after"],
body .gform_wrapper .gform_body .gform_fields .gfield select:focus:hover + .svg-inline--fa[data-fa-pseudo-element=":after"] {
    color: #000;
    
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

/* Checkbox and Radio Field */

body .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label,
body .gform_wrapper ul.gfield_radio li input[type=radio]:checked + label {
    font-weight: normal;
}

/**
 * Form Footer
 */

/* Form Footer */
/* Contains the submit button and admin edit link */

body .gform_wrapper .gform_footer {
    position: relative;
    margin-top: 1rem;
    padding: 1rem 0 0 0;
}

/* Submit button */

body .gform_wrapper .gform_footer input[type=submit] {
    display: block;
    width: 100%;
    margin-right: 0;
    background: transparent;
    border: solid 1px var(--primary-color, #000);
    color:var(--primary-color, #000);
}

body .gform_wrapper .gform_footer input[type=submit]:hover {
    background-color: var(--primary-color, #000);
    border-color: var(--primary-color, #000);
    color: #fff;
}

/**
 * Validation Errors
 */

/* Validation - Error Message */

body .gform_wrapper .validation_error {
    display: none;
    color: #4f4f4f!important;
    border: 0!important;
    padding: 20px 20px 20px 84px!important;
    width: calc(100% - 16px)!important;
    text-align: left!important;
    position: relative;
    font-weight: normal!important;
    background-color: #f8d0c8;
    position: relative;
}

body .gform_wrapper .validation_error::before {
    display: none;
    content: "\f057";
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
}

body .gform_wrapper .validation_error .svg-inline--fa {
    position: absolute;
    top: calc(50% - 0.5em);
    left: 30px;
    font-size: 2.5em;
}

/* Validation – Error Container */
/* Individual list items containing inputs with invalid values */

body .gform_wrapper .gform_body .gform_fields .gfield_error {
    background-color: transparent;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
}

body .gform_wrapper.gform_validation_error .gform_body .gform_fields .gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: 100%!important;
}

/* Validation – Error Description Message */
/* Description/error message below inputs with invalid values */

body .gform_wrapper .gform_body .gform_fields .gfield_error .validation_message {
    color: #e00000;
}

/* Validation – Error Field Label */

body .gform_wrapper .gform_body .gform_fields .gfield_error .gfield_label {
    color: #e00000;
}

/* Validation – Error Fields */

body .gform_wrapper .gform_body .gform_fields .gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_wrapper .gform_body .gform_fields .gfield_error textarea,
body .gform_wrapper .gform_body .gform_fields .gfield_error select {
    border-color: #e00000;
}

/*--------------------------------------------------------------
## Plugin - Slick
--------------------------------------------------------------*/

.slick {
    position: relative;
    line-height: 1;
}

.slick-track {
    margin-left: 0;
    margin-right: 0;
}

.slick-slide:focus,
.slick-slide:active {
    outline: 0;
}

.slick-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    font-size: 1.5rem;
    
    position: absolute;
    top: 50%;
    
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    
    background: transparent;
    cursor: pointer;
    z-index: 1;
}

.slick-arrow,
.slick-arrow:visited {
    color: currentColor;
}

.slick-arrow:hover,
.slick-arrow:focus {
    color: currentColor;
}

.slick-prev {
    left: 1rem;
}
.slick-next {
    right: 1rem;
}

.slick-prev .icon,
.slick-next .icon {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;   
}

.slick-prev:hover .icon {
    -webkit-transform: translateX(-0.25rem);
    -moz-transform: translateX(-0.25rem);
    -o-transform: translateX(-0.25rem);
    transform: translateX(-0.25rem);
}

.slick-next:hover .icon {
    -webkit-transform: translateX(0.25rem);
    -moz-transform: translateX(0.25rem);
    -o-transform: translateX(0.25rem);
    transform: translateX(0.25rem);
}

.slick-dots {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    position: absolute;
    bottom: 10px;
    font-size: 0;
    z-index: 1;
}

.slick-dots li {
    display: inline-block;
    margin: 4px;
}

.slick-dots li button {
    background-color: transparent;
    border: 2px solid currentColor;
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    font-size: 0;
    margin: 0;
    padding: 0;
    outline: 0;
    -webkit-appearance: none;
    cursor: pointer;
    
    -webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;	
}

.slick-dots li button:hover,
.slick-dots li.slick-active button {
    background-color: currentColor;
}

/*--------------------------------------------------------------
## Plugin - FontAwesome
--------------------------------------------------------------*/

ul.fa-ul {
    text-align: initial;
    margin-left: 2em;
}

span.fa-li {
    left: -2em;
    width: 2em;
    text-align: left;
}

span.fa-li .svg-inline--fa {
    color: currentColor;
    font-size: 1.2em;
    vertical-align: text-bottom;
}

/*--------------------------------------------------------------
## Plugin - Woocommerce
--------------------------------------------------------------*/

.woocommerce-page .site-main .woocommerce.woocommerce-page,
.woocommerce-page .site-main article.page div[class="woocommerce"] {
    padding: 60px 0;
}

.wcmenucart-contents .menucart-icon {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
}

.wcmenucart-contents .items-badge {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    padding: 0.215rem 0.275rem 0.075rem;
    min-width: 1.165rem;
    font-size: 0.9rem;
    line-height: 1;
    border-radius: 1.4rem;
    background-color: var(--primary-color, #000);
    color: #fff;

    position: absolute;
    top: -0.5rem;
    left: calc(100% - 0.5rem);
}

.wcmenucart-contents .woocommerce-Price-amount.amount {
    font-size: 1rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-Price-amount.amount {
    font-size: 1.2rem;
}

.woocommerce ins {
    background: transparent;
}

.woocommerce ul.products li.product .onsale,
.widget_produits-promotion {
    left: 0;
    right: auto;
    margin: 0;
}

.woocommerce span.onsale {
    top: 0;
    left: 0;
    min-height: 1.5em;
    min-width: 6em;
    padding: 5px 15px;
    font-size: 1.3em;
    font-weight: 400;
    line-height: 1.5;
    z-index: 1;
    background: #000;
    text-transform: uppercase;
    border-radius: 0 0 20px 0;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title, .woocommerce ul.product_list_widget li.product:hover .product-title {
}

.woocommerce ul.products li.product .button, .woocommerce ul.product_list_widget li.product .button, .woocommerce div.product form.cart .button {
    display: inline-block;
    margin-top: 0;
    min-height: 40px;
    font-weight: 300;
}

.woocommerce-store-notice, p.demo_store {
    background-color: #ce0000;
    color: #fff;
}

.woocommerce-store-notice a, p.demo_store a {
    margin-left: 10px;
    padding: 5px 15px;
    border-radius: 20px;
    border: solid 1px #fff;
}

/* ----- Pagination ----- */

.woocommerce-pagination ul.page-numbers,
.pagination ul.page-numbers {
    margin: 0;
    padding: 0;
}
.woocommerce-pagination li,
.pagination li {
    display: inline-block;
    margin: 0 5px 0 0;
}
.woocommerce-pagination li .page-numbers,
.pagination li .page-numbers {
    display: inline-block;
    height: 30px;
    width: 30px;
    line-height: 30px;
    
    text-align: center;
    cursor: pointer;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.pagination li .page-numbers.current,
.pagination li .page-numbers.current:hover,
.pagination li .page-numbers.current:focus {
	background-color: var(--secondary-color, #000);
    color: #fff;

    -webkit-transition: background-color 0.2s, color 0.2s;
    -moz-transition: background-color 0.2s, color 0.2s;
    -o-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
}

/* ----- Cross-sells ----- */

.cross-sells .cross-sells-title {
    text-align: center;
    margin-bottom: 3rem;
}

/* ----- Related products ----- */

.related.products .related-products-title {
    text-align: center;
    margin-bottom: 3rem;
}

/* ----- Upsells products ----- */

.upsells.products .upsells-products-title {
    text-align: center;
    margin-bottom: 3rem;
}

/* ----- Products ----- */

.product-summary-thumbnails {
    position: relative;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child {
    position: relative;
    margin-bottom: 1em;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
    width: 19%;
    margin-right: 1%;
}

.woocommerce div.product .product_title {
    text-align: initial;
    font-size: 2.6rem;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    margin-right: 0.5em;
}

.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td {
    display: block;
}

.woocommerce div.product form.cart .variations tr {
	margin-bottom: 1em;
}

.woocommerce div.product form.cart .variations td.label {
	padding-right: 0;
}

.woocommerce div.product form.cart .variations tr:not(:last-child) {
    margin-bottom: 5px;
}

.woocommerce div.product form.cart .variations select {
    min-width: 0;
}

/* ----- Cart ----- */

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th {
    vertical-align: middle;
}

#add_payment_method table.cart .product-thumbnail,
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail {
	vertical-align: top;
}

.woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
    width: 100px;
	vertical-align: top;
}

.woocommerce a.remove {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.75rem;
    font-weight: 500;
}

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
}

.woocommerce .shipping-calculator-form button.button {
    width: 100%;
}

.woocommerce .shipping-calculator-form {
    display: block!important;
}

.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
    width: auto;
	min-height: auto;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    font-size: inherit;
}

/* Rows styling */

.form-row > span {
    display: block;
}
.form-row input[type="password"],
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="number"],
.form-row input[type="search"],
.form-row input.input-text,
.form-row textarea {
    width: 100%;
    max-width: 100%;
}
.form-row-first,
.form-row-last {
    width: 50%;
}
.form-row-first {
    float: left;
    padding-right: 10px;
}
.form-row-last {
    float: right;
    padding-left: 10px;
}
.form-row-wide {
    display: block;
    width: 100%;
}

.form-row .terms {
    font-size: 0.9em !important;
    letter-spacing: 0.5px !important;
    margin-right: 20px !important;
    margin-top: 20px !important;
}

/* Thank you */

p.woocommerce-thankyou-order-received {
    color: #000 !important;
    font-size: 1.6em;
    font-weight: 300;
}
ul.woocommerce-thankyou-order-details {
    font-size: 1.2em;
    font-weight: 300;
}

ul.woocommerce-thankyou-order-details li {
    list-style-type: none;
    line-height: 2em;
}

/* ----- Cart Empty ----- */

p.return-to-shop {
    text-align: center;
}

/* ----- Breadcrumb ----- */

.woocommerce .woocommerce-breadcrumb {
    margin-bottom: 0;
    padding: 1rem;
    font-weight: 300;
    background: rgb(250,250,250);
    background: -moz-linear-gradient(90deg, rgba(250,250,250,1) 0%, rgba(231,231,231,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(250,250,250,1) 0%, rgba(231,231,231,1) 100%);
    background: linear-gradient(90deg, rgba(250,250,250,1) 0%, rgba(231,231,231,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fafafa",endColorstr="#e7e7e7",GradientType=1);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a {
    -webkit-transition: 0.1s;
    -moz-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 100!important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    font-weight: 600;
}

/* ----- My account - Dashboard ----- */

/* Page my account styling */

.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce .woocommerce-MyAccount-content .welcome {
    font-size: 1.4em;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid #eee;
}
.woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: 0;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 0.6em 0.4em;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--primary-color, #000);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: #fafafa;
}

/* Page orders styling */

.entry-content table.woocommerce-MyAccount-orders {
    margin: 0;
}
.woocommerce-orders-table thead tr th {
    font-size: 1em;
}
.woocommerce-orders-table td,
.woocommerce-orders-table th {
    padding: 12px 10px;
    vertical-align: middle;
    text-align: left;
}
.woocommerce-orders-table tbody tr {
    border-bottom: 1px solid #eee;
}
.woocommerce-orders-table .woocommerce-orders-table__header-order-actions,
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    text-align: center;
}

/* Page address styling */

.woocommerce-Address h3 {
    font-size: 1rem;
}

/* Page login styling */

.woocommerce-account iframe {
	margin-bottom: 0;
}
.woocommerce-password-hint {
    line-height: 1.5;
}
.woocommerce-form-register p.mailchimp-newsletter {
    display: none;
}
p.woocommerce-LostPassword {
    margin: 0;
}

/* ----- Quantity Increment ----- */

.woocommerce .quantity, .woocommerce-page .quantity {
    padding-right: 0;
	vertical-align: bottom;
	background-color: #fff;
}

.woocommerce .quantity .plus, .woocommerce .quantity .minus, .woocommerce-page .quantity .plus, .woocommerce-page .quantity .minus {
    position: static;
    display: inline-block;
    width: 2.5em;
    height: 2.5em;
    font-size: 1em!important;
    line-height: 0;
    color: #000;
    font-weight: 500;
    border: 1px solid #d3ced2;
    border-radius: 0;
    background-color: transparent;
    vertical-align: top;
    outline: 0;
}

.woocommerce .quantity .minus, .woocommerce-page .quantity .minus {
    margin-right: -4px;
    border-right: 0;
    border-radius: 2px 0 0 2px;
}

.woocommerce .quantity .plus, .woocommerce-page .quantity .plus {
    margin-left: -4px;
    border-left: 0;
    border-radius: 0 2px 2px 0;
}

.woocommerce .quantity .plus:hover, .woocommerce .quantity .minus:hover, .woocommerce-page .quantity .plus:hover, .woocommerce-page .quantity .minus:hover {
    background-color: transparent;
}

.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty {
    width: 3em;
    height: 2.5em;
    font-size: 1em;
    font-weight: 400;
    float: none;
    border: 1px solid #d3ced2;
    border-radius: 0;
	min-height: auto;
	
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* ----- Notices ----- */

.woocommerce-message, .woocommerce-error, .woocommerce-info {
    font-size: 1rem;
    max-width: 1220px;
    max-width: calc(1250px - 2rem);
    margin-left: auto;
    margin-right: auto;
}

/* ----- Boutique ----- */

.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    color: #000;
    padding: 0;
    margin-bottom: 0.2rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
}
.woocommerce ul.products li.product .price {
    font-size: 1em;
}

/* ----- Shop table (default styles) ----- */

/* General */

.shop_table .variation {
    display: block;
    margin-top: 0;
}
.shop_table .variation:after {
    display: block;
    content: '';
    clear: both;
}
.shop_table .variation dt,
.shop_table .variation dd {
    display: inline-block;
    margin-bottom: 0;
}
.shop_table .variation dd {
    margin-left: 0;
}
.shop_table .variation dt p,
.shop_table .variation dd p {
    margin: 0;
}

/* Tables total & subtotal styling */

.cart_totals .shop_table th,
.cart_totals .shop_table td,
.woocommerce-checkout-review-order .shop_table tfoot th,
.woocommerce-checkout-review-order .shop_table tfoot td {
    background-color: #f4f4f4;
}
.cart_totals .shop_table th,
.woocommerce-checkout-review-order .shop_table tfoot th {
    white-space: nowrap;
}
.cart_totals table td,
.woocommerce-checkout-review-order .shop_table tfoot td {
    text-align: right;
}

/* ----- Woocommerce - Single product ----- */

/* Product content */

.single-product form.variations_form.cart {
    background-color: #f4f4f4;
    padding: 20px;
    border-radius: 3px;
    margin-top: 1rem;
}
.single-product .product {
    position: relative;
    overflow: hidden;
}
.single-product .onsale {
    left: 0;
    position: absolute;
    z-index: 10001;
}
.single-product .price-wrap .product-type-variable .price {
    font-size: 24px;
}
.product-type-variable .price {
    color: #000;
    padding: 0;
}
.price-wrap,
.price,
.about {
    margin: 0;
}
.single-product .price-wrap .amount {
    font-size: 1.6em;
}
.product_meta {
    margin: 1em 0;
}
.product_meta span.sku_wrapper,
.product_meta span.posted_in {
    display: block;
}
.product_meta .sku {
    font-weight: 600;
}
.product_meta a {
    color:var(--primary-color, #000);
}
.pswp__caption {
    display: none;
}

/* ----- Cart ----- */

/* Shop table - Cart styling */

#add_payment_method table.cart td,
#add_payment_method table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout table.cart td,
.woocommerce-checkout table.cart th {
	vertical-align: bottom;
}

.shop_table.cart thead {
	font-size: 1.25em;
}

.shop_table.cart thead th.product-thumbnail {
    width: 25%;
}
.shop_table.cart thead th.product-subtotal {
    width: 20%;
}

.shop_table.cart tr.cart_item td.item-description .item-description-container .product-cost-calculation .layout-50 {
    width: 50%;
}
.shop_table.cart tr.cart_item td.item-description .product-details-wrap {
    margin-bottom: 0.5em;
}
.shop_table.cart tr.cart_item td.item-description .product-details {
    margin-right: 20%;
}
.shop_table.cart tr.cart_item td.item-description .product-meta .variation,
.shop_table.cart tr.cart_item td.item-description .product-meta .variation p {
    font-size: 14px;
}
.shop_table.cart tr.cart_item td.item-description .product-price {
	min-width: 4em;
	margin-right: 1em;
}
.shop_table.cart tr.cart_item td.item-description .product-price,
.shop_table.cart tr.cart_item td.item-description .product-quantity {
    display: inline-block;
}
.shop_table.cart tr.cart_item td.item-description .product-price .amount {
    margin-right: 10px;
}
.shop_table.cart tr.cart_item td.item-description .product-subtotal {
    text-align: right;
}
.shop_table.cart tr.cart_item td.item-description .product-subtotal .amount {
    margin-left: 10px;
}
.shop_table.cart tr.cart_item td.product-remove {
    position: relative;
    padding: 0;
    border: 0;
}
.shop_table.cart tr.cart_item td.product-remove a {
    display: block;
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 1;
}
.shop_table.cart td.actions {
    padding: 20px 10px;
    text-align: left;
}
.shop_table.cart .update {
    margin-left: 10px;
    float: right;
}

/* Shop table - Cart totals styling */

.cart_totals h2 {
    font-size: 2em;
}
ul#shipping_method {
    list-style: none;
    margin: 0;
    padding: 0;
}
p.woocommerce-shipping-destination {
    margin: 0;
}
.product-quantity .quantity label,
.product-quantity .quantity .label {
    display: none;
}

/* ----- Checkout ----- */

/* Table - Order review styling */

.woocommerce-checkout-review-order .shop_table thead,
.woocommerce-checkout-review-order .shop_table tbody,
.woocommerce-checkout-review-order .shop_table tfoot {
    display: table;
    width: 100%;
}
.woocommerce-checkout-review-order .shop_table thead tr th {
    font-size: 1.2em;
}

.woocommerce-checkout-review-order .shop_table .product-details {
    text-align: left;
}
.woocommerce-checkout-review-order .shop_table .product-total {
    text-align: right;
}
.woocommerce-checkout-review-order .shop_table tbody tr td.product-thumbnail {
    width: 20%;
}
.woocommerce-checkout-review-order .shop_table tbody tr td.product-thumbnail img {
	vertical-align: top;
}
.woocommerce-checkout-review-order .shop_table tbody tr td.product-details .product-name {
    font-size: 16px;
}
.woocommerce-checkout-review-order .shop_table tbody tr td.product-details .product-name h3 {
    margin: 0;
    font-size: 1em;
}
.woocommerce-checkout-review-order .shop_table tbody tr td.product-details .variation,
.woocommerce-checkout-review-order .shop_table tbody tr td.product-details .variation p {
    font-size: 12px;
}
.woocommerce-checkout-review-order .shop_table tfoot tr th {
    text-align: left;
}
.woocommerce-checkout-review-order .shop_table tfoot tr td {
    text-align: right;
}

.woocommerce-checkout-wrap {
    margin-bottom: 2rem;
}

/* Forms - Billing & Shipping styling */

#billing_address_1_field,
#shipping_address_1_field {
    display: inline-block;
    width: 60%;
    padding-right: 1rem;
}
#billing_address_2_field,
#shipping_address_2_field {
    display: inline-block;
    width: 40%;
    padding-left: 1rem;
}

/* Payment methods styling */

.payment_box p:only-child {
    margin: 0;
}
#place_order {
    float: none!important;
	width: 100%;
}

/* ----- Widget sidebar ----- */

/* General */

.widget.woocommerce ul li {
    border-bottom: 1px solid #eee;
}
.widget.woocommerce ul li:last-child {
    border-bottom: 0 none;
}

/* Categories Filter */

.widget.woocommerce.widget_product_categories ul.product-categories {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.widget.woocommerce.widget_product_categories ul.product-categories > li.cat-parent > a {
    display: block;
    text-transform: uppercase;
    font-size: 1.2em;
    line-height: 1.2em;
    margin-top: 0.4em;
    margin-bottom: 0.4em;
    padding-left: 0.4em;
}
.widget.woocommerce.widget_product_categories ul.children {
    margin: 0px;
}
.widget.woocommerce.widget_product_categories ul.children li {
    list-style: none;
    border: 0 none;
}
.widget.woocommerce.widget_product_categories ul.children ul.children {
    margin: 5px 0;
}
.widget.woocommerce.widget_product_categories ul.children ul.children li a {
    position: relative;
    padding-left: 1.4em;
}
.widget.woocommerce.widget_product_categories li.cat-item a {
    display: block;
	padding: 0.6em 0.4em;
}
.widget.woocommerce.widget_product_categories li.current-cat > a {
    background-color: #fafafa;
}

/*--------------------------------------------------------------
## Plugin - TI Woocommerce Wishlist
--------------------------------------------------------------*/

/* General */

.tinv-wishlist ul.woocommerce-alert,
.tinv-wishlist ul.woocommerce-error,
.tinv-wishlist ul.woocommerce-info {
	padding: 1em 2em 1em 3.5em;
	margin: 0 0 2em;
}

.tinv-wishlist .product-remove button {
	background-color: transparent;
	color: var(--primary-color, #000);
	
	align-items: center;
	
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.tinv-wishlist .product-remove button:hover {
	background-color: var(--primary-color, #000);
	color: white;
}

/* Product - Button 'add to wishlist' */

.tinv-wraper.tinv-wishlist.tinvwl-above_thumb-add-to-cart {
	position: absolute;
    top: 0;
	right: 0;
    left: auto;
}

ul.products li.product .tinvwl-above_thumb-add-to-cart.tinvwl-loop-button-wrapper a.tinvwl_add_to_wishlist_button {
	vertical-align: top;
	margin-top: 0;
	color: var(--primary-color, #000);
}

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before {
    font-size: 24px;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before,
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {
    margin-top: 0;
    margin-left: 0;

    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* Product - Added to wishlist */

.tinv-wishlist .tinv-modal {
	z-index: 100000;
}

.tinv-wishlist .tinv-modal .tinv-modal-inner {
	max-width: 414px;
}

/* Widget - Wishlist products counter */

.wishlist_products_counter {
	position: relative;
	display: block;
}

a.wishlist_products_counter.top_wishlist-heart::before {
	margin-right: 0;
}

.wishlist_products_counter_number:not(:empty) {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    padding: 0.215rem 0.275rem 0.075rem;
    min-width: 1.165rem;
    font-size: 0.9rem;
    line-height: 1;
    border-radius: 1.4rem;
    background-color: var(--primary-color, #000);
    color: #fff;

    position: absolute;
    top: -0.5rem;
    left: calc(100% - 0.5rem);
}

.wishlist_item .product-cb input[type="checkbox"] {
	display: block!important;
}

/* Page shortcode - Wishlist table */

.tinv-wishlist .tinv-header {
    margin-bottom: 0;
}

.tinv-wishlist table.tinvwl-table-manage-list {
	border: 1px solid rgba(0,0,0,.1);
	margin: 0 -1px 24px 0;
	text-align: left;
	width: 100%;
	border-collapse: separate;
	border-radius: 5px;
}

.tinv-wishlist table.tinvwl-table-manage-list thead {
    font-size: 1.25em;
}

.tinv-wishlist table.tinvwl-table-manage-list th {
    font-weight: 700;
    padding: 9px 12px;
    line-height: 1.5em;
}

.tinv-wishlist table.tinvwl-table-manage-list td {
    border-top: 1px solid rgba(0,0,0,.1);
    padding: 9px 12px;
    vertical-align: middle;
    line-height: 1.5em;
}

.tinv-wishlist table.tinvwl-table-manage-list td.product-stock p:first-child {
	margin-top: 0;
}

.tinv-wishlist table.tinvwl-table-manage-list td.product-action {
	width: 198px;
}

.tinvwl-input-group .form-control {
	min-height: auto;
}

/*--------------------------------------------------------------
## Plugin - WPML
--------------------------------------------------------------*/

.wpml-ls-legacy-list-horizontal {
    padding: 0;
    border: 0;
}

.wpml-ls-legacy-list-horizontal a {
    border: 1px solid #96b8d1;
    padding: 12px 8px 8px;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

.widget {
    margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */

.widget select {
    max-width: 100%;
}

.widget ul.menu {
    text-align: initial;
    list-style: none;
}

.widget ul.menu li {
    margin: 2em 0;
}

.widget ul.menu li:first-child {
    margin-top: 0;
}

.widget ul.menu li:last-child {
    margin-bottom: 0;
}

.widget_empty {
    text-align: center;
    font-size: 1.1rem;
}

/*--------------------------------------------------------------
## Widget - Texte generique
--------------------------------------------------------------*/

.texte-generique-wrapper {
    text-align: center;
}
.texte-generique-content {
    line-height: 1.8;
    margin: 0 auto;
    max-width: 1000px;
}
/*.texte-generique-titre {
    font-size: 3rem;
}*/
.tg-sous-titre {
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    color: var(--primary-color, currentColor);
    font-weight: 500;
    margin-bottom: 1rem;
}

/*--------------------------------------------------------------
## Widget - Informations de contact
--------------------------------------------------------------*/

.so-widget-informations-contact {
    text-align: center;
}

/*--------------------------------------------------------------
## Widget - Heures d'ouverture
--------------------------------------------------------------*/

.ha_repeater_wrap .repeater_item_wrap  {
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #000;
    margin-bottom: 13px;
    font-weight: 300;
}

.ha_repeater_wrap .repeater_item_jour {
	width: 100%;
	max-width: 125px;
	margin-right: 5px;
}

.ha_repeater_wrap .repeater_item_heures {
	margin-left: 5px;
}

.ho_wrap {
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px var(--primary-color, #000);
    margin-bottom: 13px;
}

footer .ho_wrap {
    border-bottom: solid 1px var(--primary-color, #fff);
}

/*--------------------------------------------------------------
## Widget - Équipe
--------------------------------------------------------------*/

.membre_img {
    margin-bottom: 1rem;
}

.membre_img img {
    display: block;
    width: 100%;
}

.membre_titre {
    margin-bottom: 0.2rem;
}

.membre_poste {
    margin-bottom: 0.2rem;
}

.membre_description {
    margin-top: 0.8rem;
}

.membre_description > *:first-child {
    margin-top: 0;
}

/*--------------------------------------------------------------
## Widget - Informations de contact
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Widget - Woof
--------------------------------------------------------------*/

.widget-woof .widget-title {
    margin-top: 0;
}

.woof .woof_list {
    padding: 0;
}

.woof .woof_list li {
    margin: 0!important;
    padding: 0;
}

.woof ul.woof_list > li {
    line-height: 1;
    padding: 15px 0px 15px 10px!important;
    border-bottom: 1px solid #ccc;

    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.woof ul.woof_list > li:hover {
    background-color:#fafafa;
}

.woof ul.woof_list > li > label {
    color: var(--secondary-color, #000);
    margin-left: 0;
}

.woof label {
    color: #484848;
    font-weight: 400;
    text-transform: initial;
    font-size: 0.9em;
    margin-top: 0;
    margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
    padding-left: 5px;
}

.woof .woof_submit_search_form_container {
    margin-top: 1rem;
}

.woof .woof_submit_search_form_container button {
    float: none!important;
    flex: 1 1 auto;
}

.woof .woof_submit_search_form_container button:not(:last-child) {
    margin-right: 1rem;
}

.woof_childs_list {
    margin: 10px 0 5px 0!important;
    padding: 0;
}

.woof_childs_list_opener {
    vertical-align: text-top;
}

.woof_childs_list li {
    padding-left: 20px!important;
}

.irs-bar {
    height: 10px;
    background: var(--secondary-color, #000)!important;
}

.irs-with-grid .irs-grid {
    display: none!important;
}

.irs-min, .irs-max {
    color: #fff!important;
    font-size: 12px!important;
    background: #000!important;
}

.woof_childs_list_opener span.woof_is_closed {
    /*background: none!important;*/
}
.woof_childs_list_opener span.woof_is_closed::after {
    /*content:"+";*/
}

/*.woof_search_is_going nav.woocommerce-breadcrumb {
    display: block!important;
}*/

/*--------------------------------------------------------------
## Widget - Woocommerce
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Woocommerce - General
--------------------------------------------------------------*/

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    color:var(--secondary-color, #000);
    background-color: transparent;
    border-radius: 3px;
    border: solid 1px var(--secondary-color, #000);
}

.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit.disabled:hover,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled:hover,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce #respond input#submit:disabled[disabled]:hover,
.woocommerce a.button.disabled,
.woocommerce a.button.disabled:hover,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled:hover,
.woocommerce a.button:disabled[disabled],
.woocommerce a.button:disabled[disabled]:hover,
.woocommerce button.button.disabled,
.woocommerce button.button.disabled:hover,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce input.button.disabled,
.woocommerce input.button.disabled:hover,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled:hover,
.woocommerce input.button:disabled[disabled],
.woocommerce input.button:disabled[disabled]:hover {
	background: transparent;
	background-color: transparent;
	color: var(--primary-color, #000);
}

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled[disabled]:hover,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled,
.woocommerce a.button.alt:disabled:hover,
.woocommerce a.button.alt:disabled[disabled],
.woocommerce a.button.alt:disabled[disabled]:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled[disabled],
.woocommerce input.button.alt:disabled[disabled]:hover {
    background: transparent;
	background-color: transparent;
    color: var(--secondary-color, #000);
}

.woocommerce #content input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #content input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce button.button.single_add_to_cart_button.button.alt {
    background: transparent;
    background-color: transparent;
    border-color: var(--primary-color, #000);
    color: var(--primary-color, #000);
	
	border-width: 1px;
	border-style: solid;
	
    text-shadow: none!important;
	box-shadow: none;
	outline: 0;
	
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.woocommerce #content input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page #content input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce button.single_add_to_cart_button.button.alt:hover {
    background: var(--primary-color, #000);
    background-color: var(--primary-color, #000);
    border-color: var(--primary-color, #000);
    color: white;
	
    text-shadow: none!important;
    box-shadow: none;
}

.woocommerce #content input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page #content input.button.alt,
.woocommerce-page #respond input#submit.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
    background: transparent;
    background-color: transparent;
    border-color: var(--secondary-color, #000);
    color: var(--secondary-color, #000);
}

.woocommerce #content input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #content input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
	background: var(--secondary-color, #000);
    background-color: var(--secondary-color, #000);
    border-color: var(--secondary-color, #000);
	color: white;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    line-height: 1;
    top: 1.1rem;
}
.woocommerce-info::before,
.woocommerce-message::before {
    color: var(--secondary-color, #000);
}
.woocommerce-livre-extrait a {
    margin-top:0!important;
}
.woocommerce ul.products li.product .price {
    color: #000!important;
}
.woocommerce ul.products li.product .price del {
    margin-right: 0.5em;
}

.woocommerce-form__label-for-checkbox span {
    font-size: 1rem;
    line-height: normal;
    display: table-cell;
}

.select2-container--default .select2-selection--single,
.select2-dropdown {
    color: #666;
    border-color: var(--primary-color, #000);
    border-radius: 3px;
}

.select2-container .select2-selection--single {
    height: auto;
    margin: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 1rem;
    line-height: normal;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 6px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    top: 0;
}

.select2-container--open .select2-dropdown {
    margin-top: -6px;

    border-top: 1px solid var(--primary-color, #000);
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

/*--------------------------------------------------------------
### Woocommerce - Single product
--------------------------------------------------------------*/

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #000;
}

.woocommerce-Tabs-panel h2 {
    font-size: 2rem;
    color: #000;
}

/*--------------------------------------------------------------
### Woocommerce - Widget List of item
--------------------------------------------------------------*/
.product_wrap {
    position: relative;
}

.product-title {
    margin: 0;
    margin-top: 10px;
}

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    display: block;
    width: auto;
    float: none;
    margin-left: 0;
}
.woocommerce ul.cart_list, .woocommerce ul.product_list_widget {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.woocommerce ul.cart_list li, .woocommerce ul.product_list_widget li {
    width: 30.75%;
    margin: 0 0 2.992em;
}

/*--------------------------------------------------------------
## Widget - Bloc visuel
--------------------------------------------------------------*/

.bloc-visuel-wrap {
    position: relative;
}

.bloc-visuel-wrap .bloc-visuel-image {
    height: 20vw;
    min-height: 200px;
    max-height: 300px;
    background-size: cover;
    background-position: center;
}

.bloc-visuel-wrap .bloc-visuel-tuile {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;

    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.bloc-visuel-wrap .bloc-visuel-tuile::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    
    background-color: #000;
    opacity: 0.3;

    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

.bloc-visuel-wrap:hover .bloc-visuel-tuile::before {
    opacity: 0.6;
}

.bloc-visuel-wrap .bloc-visuel-tuile-container {
    max-width: 420px;
    text-align: center;
}

.bloc-visuel-wrap h3.bloc-visuel-titre {
    color: #fff;
    font-size: 1.75rem;
    margin: 0;
    letter-spacing: 0.125em;
    text-transform: uppercase;
}

/*--------------------------------------------------------------
## Widget - Bloc Décoration
--------------------------------------------------------------*/

.widget.widget_bloc-decoration {
    margin: 0!important;
    position: static;
    pointer-events: none;

    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.widget_bloc-decoration .bloc-decoration {
    z-index: 1;
}

.widget_bloc-decoration .bloc-decoration img {
    display: block;
    max-width: 100vw;
    width: 100%;
}

/*--------------------------------------------------------------
## Widget - Siteorigin Panels Builder
--------------------------------------------------------------*/

.widget_siteorigin-panels-builder > .panel-layout {
    position: relative;
    z-index: 5;
}

/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/

@media (max-width: 1500px) {
    .widget_bloc-decoration {
        display: none;
    }
}

@media (max-width: 1250px) {
    h1 {
        font-size: 3.2rem;
    }

    h2 {
        font-size: 2.6rem;
    }

    h3 {
        font-size: 1.4rem;
    }

    h4 {
        font-size: 1rem;
    }

    .accueil-gallery .accueil-gallery-titre {
        font-size: 4rem;
    }
    
    .boxed-half-left {
        padding-left: 1rem!important;
    }

    .boxed-half-right {
        padding-right: 1rem!important;
    }
}

@media (max-width: 1170px) {}

@media (max-width: 1024px) {
    h1 {
        font-size: 2.8rem;
    }

    h2,
    .woocommerce-Tabs-panel h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.2rem;
    }

    .accueil-gallery .accueil-gallery-titre {
        font-size: 3rem;
    }

    .woocommerce div.product .product_title {
        font-size: 2.2rem;
    }

    .main-navigation ul li a {
        padding: 10px 10px;
        font-size: 14px;
    }

    .slick-arrow {
        display: none!important;
    }

    #logo {
        max-width: 100px;
    }

    .layout-nav-actions > .layout-flex {
        margin-left: -0.5rem;
        margin-right: -0.5rem;
    }

    .layout-nav-actions > .layout-flex > * {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

	.woocommerce table.cart td.actions .input-text,
	.woocommerce-page #content table.cart td.actions .input-text,
	.woocommerce-page table.cart td.actions .input-text {
		width: 80px;
	}

    #customer_details.layout-flex > .layout-66 {
        width: 60%;
    }

    #customer_details.layout-flex > .layout-33 {
        width: 40%;
    }
}

@media (max-width: 960px) {
	.woocommerce #content table.cart td.actions .coupon,
	.woocommerce table.cart td.actions .coupon,
	.woocommerce-page #content table.cart td.actions .coupon,
	.woocommerce-page table.cart td.actions .coupon {
		float: none;
		padding-bottom: .5em;
	}
	
	.woocommerce #content table.cart td.actions .coupon::after,
	.woocommerce #content table.cart td.actions .coupon::before,
	.woocommerce table.cart td.actions .coupon::after,
	.woocommerce table.cart td.actions .coupon::before,
	.woocommerce-page #content table.cart td.actions .coupon::after,
	.woocommerce-page #content table.cart td.actions .coupon::before,
	.woocommerce-page table.cart td.actions .coupon::after, 
	.woocommerce-page table.cart td.actions .coupon::before {
		content: ' ';
		display: table;
	}
	
	.woocommerce #content table.cart td.actions .coupon::after,
	.woocommerce table.cart td.actions .coupon::after,
	.woocommerce-page #content table.cart td.actions .coupon::after,
	.woocommerce-page table.cart td.actions .coupon::after {
		clear: both;
	}
	
	.woocommerce #content table.cart td.actions .coupon .button.alt,
	.woocommerce #content table.cart td.actions .coupon .input-text+.button,
	.woocommerce table.cart td.actions .coupon .button.alt,
	.woocommerce table.cart td.actions .coupon .input-text+.button,
	.woocommerce-page #content table.cart td.actions .coupon .button.alt,
	.woocommerce-page #content table.cart td.actions .coupon .input-text+.button,
	.woocommerce-page table.cart td.actions .coupon .button.alt,
	.woocommerce-page table.cart td.actions .coupon .input-text+.button {
		float: right;
	}
	
	.woocommerce #content table.cart td.actions .coupon .button,
	.woocommerce #content table.cart td.actions .coupon .input-text,
	.woocommerce #content table.cart td.actions .coupon input,
	.woocommerce table.cart td.actions .coupon .button,
	.woocommerce table.cart td.actions .coupon .input-text,
	.woocommerce table.cart td.actions .coupon input,
	.woocommerce-page #content table.cart td.actions .coupon .button,
	.woocommerce-page #content table.cart td.actions .coupon .input-text,
	.woocommerce-page #content table.cart td.actions .coupon input,
	.woocommerce-page table.cart td.actions .coupon .button,
	.woocommerce-page table.cart td.actions .coupon .input-text,
	.woocommerce-page table.cart td.actions .coupon input {
		width: 48%;
		box-sizing: border-box;
	}
	
	.woocommerce #content table.cart td.actions .button,
	.woocommerce table.cart td.actions .button,
	.woocommerce-page #content table.cart td.actions .button,
	.woocommerce-page table.cart td.actions .button {
		display: block;
		width: 100%;
	}
}

@media (max-width: 768px) {
    
    h1 {
        font-size: 3.2rem;
    }

    h2,
    .woocommerce-Tabs-panel h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.4rem;
    }
    
    h4 {
        font-size: 1rem;
    }

    .accueil-gallery .accueil-gallery-titre {
        font-size: 2rem;
    }
    
    .mobile-boxed {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }
    
    .boxed-half-left,
    .boxed-half-right {
        padding-left: 0!important;
        padding-right: 0!important;
    }

    .layout-flex .layout-100,
    .layout-flex .layout-95,
    .layout-flex .layout-90,
    .layout-flex .layout-85,
    .layout-flex .layout-80,
    .layout-flex .layout-75,
    .layout-flex .layout-70,
    .layout-flex .layout-66,
    .layout-flex .layout-65,
    .layout-flex .layout-60,
    .layout-flex .layout-55,
    .layout-flex .layout-50,
    .layout-flex .layout-45,
    .layout-flex .layout-40,
    .layout-flex .layout-35,
    .layout-flex .layout-33,
    .layout-flex .layout-30,
    .layout-flex .layout-25,
    .layout-flex .layout-20,
    .layout-flex .layout-15,
    .layout-flex .layout-10,
    .layout-flex .layout-5 {
        width: 100%;
    }

    .top-message-important {
        width: 100%;
        text-align: center;
    }

    .top-reseaux-sociaux {
        display: none;
    }

    .wcmenucart-contents .woocommerce-Price-amount.amount {
        display: none;
    }
    
    #logo {
        max-width: none;
        min-width: auto;
        width: 80px;
    }
    
    .logo-wrap {
        margin-top: 0;
    }
    
    .nav-wrap {
        padding-top: 20px;
    }
    
    .nav-wrap.fixed {
        position: static;
    }

    .layout-nav-menu {
        padding: 0;
    }

    .nav-action.nav-action-menu {
        display: block;
    }
	
	.menu-button .menu-bar {
		width: 30px;
		margin-bottom: 10px;
	}

    .menu-button:hover #bar-3 {
        width: 30px;
    }

    .wpml-ls-legacy-list-horizontal a {
        padding: 10px 6px 6px;
    }
    
    .nav-wrap.menu-opened .main-navigation {
        opacity: 1;
        visibility: visible;
    }
    .main-navigation {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10000;
        float: none;
        
        width: 100%;
        height: 100%;
        background-color: #fff;
        
        opacity: 0;
        visibility: hidden;
        
        -webkit-transition: opacity 0.3s, visibility 0.3s;
        -moz-transition: opacity 0.3s, visibility 0.3s;
        -o-transition: opacity 0.3s, visibility 0.3s;
        transition: opacity 0.3s, visibility 0.3s;
    }
    .main-navigation ul {
        width: 100%;
    }
    .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
        display: block;
    }
    .main-navigation ul ul {
        box-shadow: none;
        position: static;
        width: 100%;
    }
    .main-navigation ul li {
        width: 100%;
        text-align: center;
        padding-right: 0;
    }
    .main-navigation ul li a {
        color: #000!important;
        font-size: 28px;
        padding: 0.4em 0;
        width: 100%;
    }
    
    .page-title {
        text-align: center;
    }

    h1.entry-title {
        text-align: center;
    }

    .footer-wrap {
        min-height: auto;
        padding: 2rem 0;
    }
    
    .footer-logo {
        max-width: 120px;
    }

    .footer-widget,
    .footer-widget:last-child {
        margin-bottom: 2rem;
    }

    .legal-wrap {
        padding: 1rem 0;
    }
    
    .site-footer {
        text-align: center;
    }
    .copyright-wrap,
    .os_credit {
        text-align: center;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half {
        max-width: calc(50% - 1rem)!important;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third {
        margin-right: 1rem!important;
    }

    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
        margin-left: 1rem!important;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
        max-width: calc(33% - 1rem)!important;
    }
	
	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before {
		content: attr(data-title);
	}
	
	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr {
		display: table;
		position: relative;
		width: 100%;
	}
	
	.woocommerce #content table.cart .product-thumbnail,
	.woocommerce table.cart .product-thumbnail,
	.woocommerce-page #content table.cart .product-thumbnail,
	.woocommerce-page table.cart .product-thumbnail {
		display: table-cell;
	}
	
	.shop_table.cart tr.cart_item td.product-remove {
		position: static;
	}
	
	.woocommerce .woocommerce-cart-form table.shop_table_responsive tr td,
	.woocommerce-page .woocommerce-cart-form table.shop_table_responsive tr td {
		text-align: left!important;
	}
	
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		display: table-cell;
	}
	
	.shop_table.cart tr.cart_item td.product-remove {
		position: static;
	}

    #customer_details.layout-flex > .layout-66 {
        width: 100%;
    }

    #customer_details.layout-flex > .layout-33 {
        width: 100%;
    }
}

@media (max-width: 640px) {
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
        max-width: calc(100%)!important;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half {
        margin-right: 0!important;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half {
        margin-left: 0!important;
    }
    
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_left_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third {
        margin-right: 0!important;
    }

    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_half,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_middle_third,
    body .gform_wrapper .gform_body .gform_fields .gfield.gf_right_third {
        margin-left: 0!important;
    }
    .accueil-slideshow-titre {
        font-size: 3em;
    }
	
	.shop_table.cart tr.cart_item td.item-description .item-description-container .product-cost-calculation .layout-50 {
		width: 100%;
	}
	
	.shop_table.cart tr.cart_item td.item-description .product-subtotal {
		margin-top: 1em;
		text-align: left;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list thead {
		display: none;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tr {
		display: block;
		position: relative;
		padding: 24px 12px 12px 12px;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list td {
		border-top: 0;
		padding: 6px;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody tr::before,
	.tinv-wishlist table.tinvwl-table-manage-list tbody tr::after {
		clear: both;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody tr:nth-child(2n) {
		background-color: rgba(0,0,0,.025);
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td:not(.product-cb):not(.product-remove):not(.product-thumbnail):not(.product-action) {
		width: 60%!important;
		text-align: right;
		float: right;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-thumbnail {
		width: 40% !important;
		text-align: left;
		float: left;
	}

	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-cb {
		padding: 0;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-cb input[type="checkbox"] {
		position: absolute;
		top: 10px;
		right: 50px;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {
		padding: 0;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove button {
		position: absolute;
		right: 8px;
		top: 2px;
		margin: 0;
		padding: 0;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody  td.product-stock p {
		display: inline;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-action {
		clear: both;
	}
}

@media (max-width: 414px) {
    h1 {
        font-size: 2.6rem;
    }

    h2,
    .woocommerce-Tabs-panel h2 {
        font-size: 1.6rem;
    }
	
	#logo {
		width: 70px;
	}
	
	.shop_table.cart tr.cart_item td.item-description .product-price,
	.shop_table.cart tr.cart_item td.item-description .product-quantity {
		display: block;
	}
	
	.shop_table.cart tr.cart_item td.item-description .product-price {
		min-width: auto;
		margin-right: 0;
		margin-bottom: 0.5em;
	}
	
	.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty {
		width: 2.5em;
	}
	
	.woocommerce span.onsale {
		min-height: 1em;
		font-size: 1em;
	}
	
	.tinvwl-above_thumb-add-to-cart.tinvwl-loop-button-wrapper {
		top: 0;
		right: 0;
	}
	
	.tinv-wishlist .tinv-modal .tinv-modal-inner {
		max-width: none;
		margin: 0 15px;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td:not(.product-cb):not(.product-remove):not(.product-thumbnail):not(.product-action) {
		width: 60%!important;
	}
	
	.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-thumbnail {
		width: 30% !important;
	}

    #logo {
        width: 60px;
    }

    .nav-action .icon svg, .nav-action .icon a.wishlist_products_counter::before {
        font-size: 22px;
    }

    .menu-button-container {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 320px) {}