/*
Theme Name: Gîtes de France
Author: La petite boite
Version: 1.0
*/

@font-face {
	font-family: "get_showregular";
	src:
		url("assets/fonts/get_show-webfont.woff2") format("woff2"),
		url("assets/fonts/get_show-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}

/* COLORS */

/*
* Vert foncé = var(--main-color);
* Vert clair = var(--secondary-color);
* Orange = var(--links-color);
*/

*,
html,
body {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: var(--text-font);
	font-size: 16px;
	line-height: 26px;
	color: var(--text-color);
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: 0.3em;
	line-height: normal;
}

h1 {
	font-size: 3.2rem;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	font-size: 2rem;
}

h4 {
	font-size: 1.5rem;
}

h5 {
	font-size: 1.2rem;
}

strong,
b {
	font-weight: 800;
	color: inherit;
}

em {
	font-style: italic;
}

span,
sup {
	color: inherit;
	font-size: inherit;
}

a,
a:hover,
a:visited,
a:link {
	text-decoration: none;
}

.has-primary-color {
	color: var(--main-color);
}

.has-primary-background-color {
	background-color: var(--main-color);
}

.has-secondary-color {
	color: var(--secondary-color);
}

.has-secondary-background-color {
	background-color: var(--secondary-color);
}

.has-links-color {
	color: var(--links-color);
}

.has-links-background-color {
	background-color: var(--links-color);
}

.has-grey-color {
	color: #999;
}

.has-grey-background-color {
	background-color: #999;
}

.wp-block-button__link {
	position: relative;
	padding-left: 1em !important;
}

.wp-block-button__link,
a.custom--btn {
	position: relative;
	display: inline-block;
	padding: 10px 25px 10px 50px;
	border-radius: 50px;
	border: 1px solid;
	font-weight: 800;
	background-color: transparent;
	color: var(--links-color) !important;

	transition: all 0.3s ease;
}

a.custom--btn i {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	color: var(--links-color);
}

a.custom--btn i::before {
	font-weight: 800 !important;
}

a.custom--btn:hover,
.wp-block-button__link:hover {
	color: #fff !important;
	background-color: var(--links-color) !important;
}

.wp-block-button__link:hover::before,
a.custom--btn:hover i {
	color: #fff;
}

.wp-block-button__link::before {
	content: "\f138";
	float: left;
	margin-right: 0.5em;
	font-family: bootstrap-icons !important;
	color: var(--links-color);
	font-size: 20px;
	font-weight: 800;
}

a.btn--back {
	display: inline-block;
	margin-bottom: 1em;
	color: #00643e;
}

.wp-block-image figcaption {
	font-size: 14px;
	color: var(--secondary-color);
}

.custom--font {
	font-family: var(--title-font);
}

.has-drop-cap:not(:focus):first-letter {
	font-size: 6.4em;
	margin: 0.2em 0.1em 0 0;
}

.wp-block-image.is-style-circle-mask img,
.wp-block-image.is-style-rounded img,
.round--img img {
	border-radius: 25px !important;
}

.custom--width {
	max-width: 1600px;
	margin: 0 auto;
}

.custom--icons i.fas {
	font-size: 2rem;
	vertical-align: middle;
	margin-right: 5px;
}

i.fa {
	color: inherit;
}

/* Form */

#content--page form.wpcf7-form {
	max-width: 600px;
	margin: 0 auto;
}

form.woocommerce-checkout,
#content--page form.wpcf7-form label {
	width: 100%;
	margin-bottom: 0.5em;
}

.tm-extra-product-options .tm-epo-field.tmcp-select {
	height: auto !important;
	padding: 0.375rem 0.5rem !important;
}

form.woocommerce-checkout input,
form.woocommerce-checkout textarea,
.tm-extra-product-options .tmcp-field,
#content--page form.wpcf7-form input,
#content--page form.wpcf7-form textarea {
	border-color: var(--main-color) !important;
	font-size: 18px;
	color: var(--main-color);
	border-width: 1px;
}

.tm-extra-product-options .tmcp-field::placeholder,
#content--page form.wpcf7-form input::placeholder,
#content--page form.wpcf7-form textarea::placeholder {
	color: var(--main-color);
}

form.woocommerce-checkout input:focus,
form.woocommerce-checkout textarea:focus,
.tm-extra-product-options .tmcp-field:focus,
#content--page form.wpcf7-form input:focus,
#content--page form.wpcf7-form textarea:focus {
	border-color: var(--page-color);
	box-shadow: 0 0 0 0.2rem var(--page-color);
}

#content--page form.wpcf7-form .rgpd input {
	width: auto;
	margin-left: 0;
	margin-right: 5px;
}

#content--page form.wpcf7-form #form--submit {
	position: relative;
	display: block;
	padding: 10px;
	background-color: var(--links-color);
	border-radius: 5px;
	border: none;
	color: #fff;
	margin: 0 auto;
	max-width: 150px;
	cursor: pointer;

	transition: all 0.3s ease;
}

#content--page form.wpcf7-form #form--submit:hover {
	background-color: transparent;
}

#content--page form.wpcf7-form #form--submit::after {
	content: "\f138";
	margin-left: 10px;
	font-family: bootstrap-icons !important;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	vertical-align: top;
}

#content--page form.wpcf7-form #form--submit:hover input,
#content--page form.wpcf7-form #form--submit:hover::after {
	color: var(--links-color);
}

#content--page form.wpcf7-form #form--submit input {
	background-color: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
}

#content--page form.wpcf7-form #form--submit input:focus {
	box-shadow: none;
}

.wpcf7-spinner {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 150%);
	margin: 0;
}

/* 
 * TABLE
 *  */

#export_table_wrapper .dt-button,
#export_table_wrapper .dt-paging-button.current,
#export_table_wrapper .dt-paging-button:hover {
	background: var(--main-color) !important;
	border-radius: 5px;
	border: 0;
	color: #fff !important;
}

#export_table_wrapper th {
	border: 1px solid rgba(0, 0, 0, 0.3);
}

#export_table_wrapper th .dt-column-header {
	min-width: 200px;
	font-size: 18px;
	color: var(--main-color);
}

/****************************/
/******** FRONT PAGE
/****************************/

.site--wrapper {
	overflow-x: hidden;
}

/* SITE BRANDING */

#site--branding {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#site--branding a {
	width: 100px;
	height: 100px;
}

#site--branding a.logo--home img {
	position: absolute;
	top: -15px;
	left: 0;
}

.site--baseline {
	margin-left: 10px;
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
}

/* MENU */

.home #header--site--wrapper {
	position: absolute;
}

#header--site--wrapper {
	padding-top: 15px;
	padding-bottom: 15px;
}

body:not(.home) #header--site--wrapper {
	background-color: var(--main-color);
}

#primary--menu li a {
	position: relative;
	padding-bottom: 10px;
	font-weight: 600;
	color: var(--main-color);
}

body:not(.home) #primary--menu li a {
	color: #fff;
}

#primary--menu li a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 5px;
	border-radius: 15px;
	background-color: var(--links-color);
	transform-origin: center;

	width: 0;

	transition: all 0.3s ease;
}

#primary--menu li a:hover::after,
#primary--menu li.current_page_item a::after,
#primary--menu li a:focus::after {
	width: 50px;
}

#primary--menu li:not(:last-child) a {
	margin-right: 30px;
}

#toggle--menu {
	width: 80px;
	height: 80px;
	position: fixed;
	top: 0;
	right: 0;
	border-bottom-left-radius: 20px;
	background-color: #fff;
	text-align: center;
	z-index: 999;
	opacity: 1;
	-webkit-box-shadow: -9px 6px 15px 0px rgba(1, 14, 20, 0.08);
	box-shadow: -9px 6px 15px 0px rgba(1, 14, 20, 0.08);
	border: 0;

	display: none;
}

#toggle--menu:focus {
	outline: none;
}

#toggle--menu .hamburger-inner,
#toggle--menu .hamburger-inner:after,
#toggle--menu .hamburger-inner:before {
	background-color: var(--main-color);
}

#toggle--menu.is-active .hamburger-inner,
#toggle--menu.is-active .hamburger-inner:after,
#toggle--menu.is-active .hamburger-inner:before {
	background-color: var(--links-color);
}

/* HERO */

#hero--wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-height: 90vh;
	/*	background-image: url(assets/img/La-Rochelle-Congres-Gites-de-France.jpg);
	background-repeat: no-repeat;
	background-size: cover;*/
}

.hero--content {
	color: var(--main-color);
}

.hero--content h1 {
	margin-bottom: 0.5em;
	font-size: 2rem;
	font-weight: 900;
}

.hero--content h1 span.big {
	font-size: 4rem;
}

.hero--content h1 sup {
	margin-left: 5px;
	vertical-align: middle;
}

.hero--content h2 {
	padding-right: 0.5em;
	text-align: right;
	line-height: 60px;
}

.hero--content h2 span {
	display: inline;
	padding: 10px 15px 0;
	background-color: var(--main-color);
}

.hero--content p > span {
	display: inline-block;
	padding: 0 15px;
	height: 45px;
	line-height: 45px;
	font-size: 1.4rem;
	color: #fff;
}

.hero--content .date {
	background-color: var(--main-color);
}

.hero--content .lieu {
	text-transform: uppercase;
	background-color: var(--links-color);
}

.hero--content i.bi-arrow-right {
	color: var(--links-color);
}

/* MAIN */

#main--wrapper .col {
	max-width: 900px;
	margin: 0 auto;
	padding: 2em 4em 0;
	border-radius: 50px;
	transform: translateY(-50%);
	background-color: #fff;
}

#description--wrapper {
	padding-top: 6em;
	padding-bottom: 6em;
	background-color: var(--secondary-color);
}

#description--wrapper a.custom--btn {
	background-color: #fff;
	border: 0;
}

#description--wrapper a.custom--btn:hover {
	background-color: #eb5d47;
}

.header--page {
	margin-bottom: 1.5em;
}

.header--page h2 {
	font-weight: 800;
}

.subtitle {
	font-family: var(--title-font);
	color: var(--secondary-color);
}

.card--img {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 350px;
	margin-bottom: 4em;
	border-radius: 50px;
	overflow: hidden;

	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.card--img::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--main-color);

	transform: translateY(50px);
	opacity: 0;
	visibility: hidden;

	transition: all 0.4s cubic-bezier(0.47, 1.64, 0.41, 0.8);
}

.card--img h3 {
	font-weight: 800;
	color: #fff;

	transition: all 0.2s ease-out;
}

.content--card {
	position: absolute;
	padding: 2em 3em;
	background-color: transparent;
	color: #fff;

	transform: translateY(50px);
	opacity: 0;
	visibility: hidden;

	transition: all 0.6s cubic-bezier(0.47, 1.64, 0.41, 0.8);
}

.card--img:hover h3 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50px);
}

.card--img:hover .content--card {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}

.card--img:hover::before {
	transform: translateY(0);
	opacity: 0.8;
	visibility: visible;
}

.content--card p {
	color: #fff;
}

/* FOOTER */

#site--footer {
	padding-top: 3.5em;
	background-color: var(--main-color);
}

#site--footer .footer--infos {
	font-size: 20px;
	font-weight: 600;
	color: #fff;
}

#site--footer h4 {
	color: #fff;
}

#site--footer i {
	color: var(--links-color);
}

.list--logos li:not(:last-child) {
	margin-right: 10px;
}

#socials--menu {
	margin: 1em 0;
}

#socials--menu a {
	display: inline-block;
	width: 32px;
	height: 32px;
	margin: 5px;
	background-color: #fff;
	border-radius: 50%;
	font-size: 20px;

	transition: all 0.3s ease;
}

#socials--menu a:hover {
	background-color: var(--links-color);
}

#socials--menu i {
	line-height: 33px;
	color: var(--links-color);
}

#socials--menu a:hover i {
	color: #fff;
}

#footer--menu,
#socials--menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#footer--menu a {
	display: inline;
	margin: 5px 15px;
	padding-bottom: 5px;
	font-weight: 800;
	border-bottom: 2px solid #fff;
	color: var(--links-color);
}

.subfooter {
	padding-top: 1em;
	padding-bottom: 1em;
}

.subfooter,
.subfooter a {
	font-size: 12px;
	color: #fff;
}

/****************************/
/******** DEFAULT PAGE
/****************************/

#wrapper--page {
	background-color: var(--page-color);
}

#content--page {
	padding-top: 3em;
	padding-bottom: 3em;
}

#content--page .introduction {
	margin-top: 1em;
	margin-bottom: 4em;
}

#content--page article {
	padding: 3.5em 3.5em;
	border-radius: 20px;
	background-color: #fff;
}

body.single-product #content--page article {
	overflow: hidden;
}

#content--page
	ul:not(.blocks-gallery-grid):not(.woocommerce-mini-cart):not(.woocommerce-error):not(.wc_payment_methods):not(
		.order_details
	):not(.wc-item-meta):not(.pagination)
	li {
	position: relative;
	padding-left: 30px;
}

#content--page
	ul:not(.blocks-gallery-grid):not(.woocommerce-mini-cart):not(.woocommerce-error):not(.wc_payment_methods):not(
		.order_details
	):not(.wc-item-meta):not(.pagination)
	li::before {
	content: "\f138";
	position: absolute;
	left: 0;
	top: 0;
	font-family: bootstrap-icons !important;
	color: var(--links-color);
	font-size: 20px;
	font-weight: 800;
}

.active > .page-link,
.page-link.active {
	background-color: var(--page-color);
	border-color: var(--page-color);
}

#content--page
	a:not(.custom--btn):not(.button):not(.wp-block-button__link):not(.btn--back):not(.tm-cart-edit-options):not(
		.remove
	) {
	display: inline;
	border-bottom: 2px solid;
	color: var(--links-color);
}

#content--page
	a:not(.custom--btn):not(.button):not(.wp-block-button__link):not(.btn--back):not(.tm-cart-edit-options):not(
		.remove
	):hover {
	border-bottom-width: 3px;
}

#content--page .wp-block-image a {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

#content--page p {
	margin-bottom: 1em;
}

#content--page i.fas {
	color: inherit;
}

#page--header {
	overflow: hidden;
	padding-bottom: 2em;
	text-align: center;
	background-color: var(--main-color);
}

#page--header h1 {
	font-family: var(--title-font);
	font-size: 3.2rem;
	color: #fff;
}

#page--header h1::after {
	content: "";
	display: block;
	width: 0;
	height: 8px;
	margin: 0 auto;
	border-radius: 20px;
	background-color: var(--links-color);

	animation: 0.3s cubic-bezier(0.47, 1.64, 0.41, 0.8) 1s forwards slidein;
}

@keyframes slidein {
	from {
		width: 0;
	}

	to {
		width: 60px;
	}
}

/* PARTENAIRES */

.partenaires {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.partenaires img {
	display: block;
	margin: 0 auto;
}

/****************************/
/******** CATEGORY PAGE
/****************************/

.post--item {
	display: flex;
	max-width: 900px;
	margin: 0 auto 2em;
	background-color: #fff;
	border-radius: 25px;
	overflow: hidden;
}

.thumbnail--post {
	flex: 40%;
}

.thumbnail--post img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.post--content {
	position: relative;
	flex: 60%;
	display: flex;
	align-items: center;
	padding: 3em 2em 2em 4em;
	z-index: 0;
}

.post--content::after {
	content: "";
	position: absolute;
	left: -30px;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transform: skewX(-8deg);
	z-index: -1;

	transition: all 0.3s ease;
}

.post--content h3 {
	font-weight: 800;
}

.post--content p {
	margin-bottom: 0 !important;
}

.post--content i {
	padding-left: 5px;
}

/****************************/
/******** ARCHIVE PRODUCT
/****************************/

body.post-type-archive-product .woocommerce-Price-amount {
	display: none;
}

body.woocommerce-shop .description {
	float: left;
	margin-right: 1em;
}

body.woocommerce-shop span.woocommerce-Price-amount bdi {
	padding: 7px 12px;
	color: #fff;
	font-size: 18px;
	background-color: var(--links-color);
	letter-spacing: 1px;
	border-radius: 5px;
}

/****************************/
/******** SINGLE PRODUCT
/****************************/

body.single-product div.product div.images {
	width: 28%;
}

body.single-product div.product div.summary {
	width: 68%;
}

body.single-product .product_title {
	font-weight: 800;
}

body.single-product .woocommerce-product-details__short-description {
	margin-bottom: 1.5em;
}

body.single-product .product p.price,
body.single-product .product p.price bdi {
	font-size: 24px !important;
	font-weight: 800;
	color: var(--links-color) !important;
}

body.single-product ul.tm-extra-product-options-fields li,
body.single-product ul.tmcp-ul-wrap li {
	margin-bottom: 0 !important;
	padding-left: 0 !important;
}

body.single-product .cpf-type-header .tc-element-inner-wrap {
	padding: 10px 15px;
	background-color: var(--main-color);
}

body.single-product .complement .sous_titre-div .tc-element-inner-wrap {
	background-color: transparent;
}

body.single-product .complement .sous_titre-div .tc-element-inner-wrap h6 {
	padding: 0;
	padding-bottom: 0.5em;
	font-weight: 600;
	font-size: 18px;
	border-bottom: 1px solid;
	color: var(--main-color);
}

body.single-product .complement .tc-label-text {
	text-align: left;
	color: var(--main-color);
}

body.single-product .cpf-type-header .tm-epo-element-label::before {
	margin-right: 10px;
	vertical-align: text-bottom;
	font-family: bootstrap-icons !important;
	font-size: 20px;
	color: var(--secondary-color);
}

body.single-product .cpf-type-header.departement-div .tm-epo-element-label::before {
	content: "\F3E8";
}

body.single-product .cpf-type-header.user-div .tm-epo-element-label::before {
	content: "\F4E1";
}

body.single-product .cpf-type-header.meal-div .tm-epo-element-label::before {
	content: "\F184";
}

body.single-product .cpf-type-header.activities-div .tm-epo-element-label::before {
	content: "\F6CA";
	display: inline-block;
	transform: rotate(-25deg);
}

body.single-product .cpf-type-header .tm-epo-element-label {
	color: #fff;
}

body.single-product .cpf-type-radio .tm-epo-element-label,
body.single-product .cpf-type-checkbox .tm-epo-element-label,
body.single-product .cpf-type-textarea .tm-epo-element-label {
	margin-bottom: 10px;
	font-weight: 800;
}

body.single-product .tm-element-ul-radio .tc-active .tm-epo-style.round {
	color: var(--links-color);
	border-color: var(--links-color);
}

body.single-product .tm-extra-product-options ul.tmcp-elements.use-images-container li.tmcp-field-wrap {
	padding: 1em 1em 0;
}

body.single-product .tc-extra-product-options .tmcp-field-wrap .price.tc-price .amount,
body.single-product .tc-extra-product-options .tmcp-field-wrap .tc-price-wrap,
body.single-product .tc-active .tc-label,
body.single-product .tc-active .tc-price-wrap,
body.single-product .tm-extra-product-options .tc-active span.price {
	color: var(--links-color);
}

body.single-product .tc-label:not(.round) {
	padding-bottom: 0;
	text-align: center;
}

body.single-product .tc-extra-product-options .tmcp-field-wrap .tc-price-wrap,
body.single-product .tc-extra-product-options .tmcp-field-wrap .price.tc-price .amount {
	margin-left: 0;
}

body.single-product .tm-extra-product-options .use-images-container .tmcp-field-wrap .amount,
body.single-product .tm-extra-product-options .use-images-container .tmcp-field-wrap .before-amount {
	font-weight: 600;
}

body.single-product .tm-extra-product-options textarea.tm-epo-field,
body.single-product .tm-extra-product-options .use-images-container .tmcp-field-wrap .tc-inline-description {
	font-size: 14px;
}

body.single-product .tm-extra-product-options span.price {
	color: var(--main-color);
}

body.single-product .product button.single_add_to_cart_button {
	margin-top: 2em;
	padding: 15px 25px;
	background-color: var(--main-color);
	color: #fff;
}

body.single-product .product button.single_add_to_cart_button:hover {
	background-color: var(--main-color);
}

body.single-product .product button.single_add_to_cart_button::after,
body.single-product .woocommerce-mini-cart__buttons a::after,
body.woocommerce-checkout #payment #place_order::after,
.woocommerce a.button::after {
	content: "\F138";
	margin-left: 15px;
	vertical-align: text-bottom;
	font-family: bootstrap-icons !important;
	font-size: 20px;
}

#product-393 .hidden-div,
#product-393 .quantity,
#product-393 > .summary > .stock {
	display: none;
}

/* Panier repas */

.complement .amount bdi,
.repas .amount bdi {
	color: var(--links-color) !important;
}

.repas .amount bdi,
.panier-repas-div .tm-label {
	font-weight: 600;
}

.panier-repas-div .tc-inline-description {
	font-size: 14px;
	font-style: italic;
}

/* Visites & ateliers */

.prog_mercredi .tm-element-ul-product .tc-epo-element-product-checkbox.tc-active .tm-epo-field-label::after,
.ateliers .tc-epo-element-product-checkbox.tc-active .tm-epo-field-label::after,
.visites .tc-active .tm-epo-field-label::after {
	content: "\F2E6";
	color: var(--links-color);
}

#product-393 .tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-checkbox,
#product-393 .tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-radio {
	margin: 0;
}

#product-393 .ateliers .tmcp-field-wrap,
#product-393 .visites .tmcp-field-wrap {
	margin-bottom: 1em !important;
}

.ateliers .tm-epo-field-label,
.repas .tm-epo-field-label,
.taxe .tm-epo-field-label,
.visites .tm-epo-field-label {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.allergies-div .tm-epo-field-label {
	margin-right: 0;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.ateliers .tc-label-wrap,
.repas .tc-label-wrap,
.prog_mercredi .tc-label-wrap,
.taxe .tc-label-wrap,
.visites .tc-label-wrap {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	line-height: initial;
}

#product-393 .ateliers .tc-label,
#product-393 .repas .tc-label,
#product-393 .prog_mercredi .tc-label,
#product-393 .prog_mercredi .tm-element-ul-product .tc-label,
#product-393 .taxe .tc-label,
#product-393 .visites .tc-label {
	padding-left: 0 !important;
	font-weight: 600;
	font-size: 16px;
	text-align: left;
}

#product-393 .repas .tc-label {
	font-weight: normal;
}

#product-393 .ateliers .tm-element-ul-product .product-description,
#product-393 .prog_mercredi .tm-element-ul-product .product-description,
.visites .product-description {
	margin-top: 1em;
	padding: 2em;
	font-size: 14px;
	background-color: var(--page-color);
}

#product-393 .ateliers .tm-element-ul-product .product-description p:last-child,
#product-393 .prog_mercredi .tm-element-ul-product .product-description p:last-child,
.visites .product-description p:last-child {
	margin-bottom: 0;
}

#product-393 .ateliers .tm-element-ul-product .product-description .stock,
#product-393 .prog_mercredi .tm-element-ul-product .stock,
.ateliers .stock,
.visites .stock {
	text-align: right;
	font-style: italic;
	color: var(--links-color) !important;
}

#product-393 .prog_mercredi .tm-element-ul-product .tc-price::before,
#product-393 .prog_mercredi .tm-element-ul-product .stock::before,
.ateliers .stock::before,
.visites .stock::before {
	content: "(";
	color: var(--links-color);
}

#product-393 .prog_mercredi .tm-element-ul-product .tc-price::after,
#product-393 .prog_mercredi .tm-element-ul-product .stock::after,
.ateliers .stock::after,
.visites .stock::after {
	content: ")";
	color: var(--links-color);
}

.ateliers .tc-extra-product-options-inline,
.ateliers .tc-epo-element-product-container-wrap,
.tm-extra-product-options .tc-cell.tm-error {
	margin: 0;
}

#product-393 select {
	background: #fff;
	border-radius: 5px;
}

#product-393 .label_margin-div label {
	margin-bottom: 0;
}

/* Description */

.hebergement .description-div .tc-element-inner-wrap {
	background-color: transparent !important;
}

/* Remises */

.remises h6 span {
	font-weight: 600;
	color: var(--links-color);
}

.remises .price bdi {
	font-weight: 600;
}

/* Boite total */

.tm-totals-form-main {
	margin-top: 2em;
	padding: 0 1.5em;
	border-radius: 15px;
	border: 2px solid var(--main-color);
}

.tm-final-totals {
	font-weight: 600;
	font-size: 1.4rem;
	color: var(--main-color);
}

.tm-totals-form-main bdi {
	font-size: 1.2rem;
	color: var(--links-color);
}

/* MINI CART */

body.single-product .mini--cart h4 {
	margin-bottom: 1em;
	padding-bottom: 15px;
	border-bottom: 1px solid #fff;
}

body.single-product .mini--cart .tc-epo-metadata p,
body.single-product .mini--cart .tc-epo-metadata .tc-value {
	margin-bottom: 0 !important;
}

body.single-product .mini--cart .tc-epo-metadata .tc-name,
body.single-product .mini--cart .tc-epo-metadata .tc-value {
	float: none;
	display: block;
	font-size: 13px;
}

body.single-product .woocommerce-mini-cart__buttons a,
body.woocommerce-checkout #payment #place_order,
body.woocommerce-cart .button {
	display: block;
	margin-bottom: 10px;
	padding: 1em;
	background-color: var(--links-color);
	text-align: center;
	color: #fff;
}

body.single-product .woocommerce-mini-cart__buttons a:not(.checkout) {
	background-color: #fff;
	color: #e98e67;
	border: 2px solid var(--links-color);
}

body.single-product .woocommerce-mini-cart-item a {
	color: var(--main-color);
}

body.single-product .woocommerce-mini-cart .tc-epo-metadata {
	margin: 20px 0;
	line-height: 20px;
}

body.single-product .mini--cart .woocommerce-mini-cart__total {
	padding: 1em;
	border-top: 1px solid;
	border-bottom: 1px solid;
	text-align: center;
}

body.single-product .woocommerce-mini-cart .tc-associated-table-product {
	margin: 1em 0;
	padding: 15px;
	font-size: 14px;
	font-weight: 600;
	background-color: #cacfb6;
}

#order_review .tc-associated-table-product .tc-associated-table-product-indent,
body.woocommerce-cart .tc-associated-table-product .tc-associated-table-product-indent,
body.single-product .tc-associated-table-product .tc-associated-table-product-indent {
	padding-left: 0;
	font-size: 14px;
}

body.single-product .mini--cart .tc-epo-metadata .tc-hidden-variation,
body.woocommerce-checkout #order_review .tc-hidden-variation,
body.single-product .woocommerce-mini-cart .remove_from_cart_button {
	display: none !important;
}

/****************************/
/******** CART
/****************************/

body.woocommerce-cart .woocommerce-message {
	background-color: var(--page-color);
	border-top-color: var(--main-color);
}

body.woocommerce-cart .woocommerce-message::before {
	color: var(--main-color);
}

body.woocommerce-cart .woocommerce-message a {
	margin-top: 0;
	margin-left: 1em;
}

body.woocommerce-cart .woocommerce-cart-form {
	margin-bottom: 4em;
}

.woocommerce-table thead tr,
body.woocommerce-checkout form.woocommerce-checkout thead tr,
body.woocommerce-cart .woocommerce-cart-form__contents thead tr {
	background-color: var(--secondary-color);
}

.woocommerce-table thead tr th,
body.woocommerce-checkout form.woocommerce-checkout thead tr th,
body.woocommerce-cart .woocommerce-cart-form__contents thead tr th {
	color: #fff;
}

.woocommerce-table tbody tr,
body.woocommerce-checkout form.woocommerce-checkout tbody tr,
body.woocommerce-cart .woocommerce-cart-form__contents tbody tr,
body.woocommerce-cart .order-total {
	background-color: var(--page-color);
}

body.woocommerce-cart table.shop_table img {
	width: 150px;
}

.woocommerce-table td,
body.woocommerce-cart table.shop_table td {
	border-top: 1px solid rgb(255 255 255);
}

.woocommerce-table td a,
table.shop_table td a {
	width: 100%;
	color: var(--main-color) !important;
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

.woocommerce-table td > a,
table.shop_table td > a {
	display: inline-block;
	border-bottom: 0;
	padding-bottom: 0;
	font-weight: 800;
}

body.woocommerce-cart .woocommerce-cart-form a.remove {
	display: block !important;
	width: 1em !important;
}

body.woocommerce-checkout #order_review .tm-cart-edit-options,
body.woocommerce-cart table.shop_table .tm-cart-edit-options {
	color: var(--links-color) !important;
	text-decoration: underline;
	font-size: 14px;
	font-style: normal;
}

body.woocommerce-cart table.shop_table .tm-cart-link {
	display: inline-block;
	margin-top: 5px;
	padding: 5px 15px;
	border: 1px solid;
}

body.woocommerce-checkout #order_review .tc-epo-metadata,
body.woocommerce-cart table.shop_table .tc-epo-metadata {
	margin-top: 1em;
	font-size: 13px;
	line-height: 20px;
	columns: 2;
}

body.woocommerce-checkout #order_review .tc-epo-metadata {
	columns: 1;
}

body.woocommerce-checkout table.shop_table .product-name p,
body.woocommerce-cart table.shop_table .product-name p {
	font-weight: 800;
	font-size: 18px;
	color: var(--main-color);
}

body.woocommerce-checkout table.shop_table .tc-epo-metadata .tc-name,
body.woocommerce-cart table.shop_table .tc-epo-metadata .tc-name {
	float: none;
	display: block;
	width: 100%;
	font-weight: 800;
}

body.woocommerce-checkout table.shop_table .tc-epo-metadata .tc-name,
body.woocommerce-cart table.shop_table .tc-epo-metadata .tc-name,
body.woocommerce-checkoutv .tc-epo-metadata .tc-value,
body.woocommerce-cart table.shop_table .tc-epo-metadata .tc-value,
body.woocommerce-checkout table.shop_table .tc-associated-table-product-indent *,
body.woocommerce-cart table.shop_table .tc-associated-table-product-indent * {
	font-size: 16px;
}

body.woocommerce-checkout table.shop_table .tc-epo-metadata .tc-value,
body.woocommerce-cart table.shop_table .tc-epo-metadata .tc-value {
	margin-bottom: 0.5em;
}

/* CART TOTALS */

.woocommerce-cart .return-to-shop {
	text-align: center;
}

.woocommerce-cart .return-to-shop a {
	display: inline-block;
	color: #fff;
}

.woocommerce-cart .cart-empty {
	padding: 0;
	margin-bottom: 1em;
	text-align: center;
	font-size: 20px;
	border-top: 0;
	background-color: transparent;
}

.woocommerce-cart .cart-empty::before {
	content: none;
}

body.woocommerce-cart .order-total {
	text-align: center;
}

body.woocommerce-cart .order-total td {
	padding: 15px 5px;
}

body.woocommerce-cart .tc-container-table-product .product-name::before,
body.single-product .tc-associated-table-product img,
body.woocommerce-cart .tc-associated-table-product .product-thumbnail img {
	display: none;
}

table.cart #coupon_code,
table.cart button[type="submit"] {
	height: 50px;
}

table.cart #coupon_code {
	width: auto;
}

@media screen and (max-width: 768px) {
	body.woocommerce-cart .tc-associated-table-product .product-price {
		display: none;
	}
}

.shop_table .woocommerce-Price-amount bdi {
	font-weight: 800;
	color: var(--links-color);
}

body.woocommerce-cart .cart_totals .woocommerce-Price-amount bdi {
	font-size: 22px;
}

body.woocommerce-cart .cart_totals a.button.alt {
	border-radius: 5px;
	background-color: var(--links-color);
}

body.woocommerce-cart .cart_totals a.button.alt::after {
	content: "\F138";
	margin-left: 15px;
	vertical-align: text-bottom;
	font-family: bootstrap-icons !important;
	font-size: 20px;
}

body.woocommerce-cart .actions {
	padding: 2em;
}

body.woocommerce-cart .actions button {
	display: inline-block;
	margin-bottom: 0;
	background-color: var(--main-color);
	color: #fff !important;
}

body.woocommerce-cart .actions button:hover {
	color: var(--main-color) !important;
}

/****************************/
/******** CHECKOUT
/****************************/

body.woocommerce-checkout {
	overflow-x: hidden;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	margin-bottom: 4em;
}

body.woocommerce-checkout form.woocommerce-checkout .form-row-first,
body.woocommerce-checkout form.woocommerce-checkout .form-row-last {
	width: 49%;
}

body.woocommerce-checkout #content--page form.woocommerce-checkout p {
	margin-bottom: 6px;
}

body.woocommerce-checkout form.woocommerce-checkout label,
body.woocommerce-checkout form.woocommerce-checkout .woocommerce-input-wrapper {
	width: 100%;
}

body.woocommerce-checkout form.woocommerce-checkout input,
body.woocommerce-checkout form.woocommerce-checkout textarea {
	padding: 0.8rem 0.75rem;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	transition:
		border-color 0.15s ease-in-out,
		box-shadow 0.15s ease-in-out;
}

body.woocommerce-checkout .wc-item-meta li:nth-child(-n + 5) .wc-item-meta-label {
	display: none;
}

body.woocommerce-checkout #payment .wc_payment_methods label,
body.woocommerce-checkout #payment .wc_payment_methods p {
	font-size: 18px;
	font-weight: 600;
}

body.woocommerce-checkout #payment .wc_payment_methods label {
	width: auto;
	color: var(--links-color);
}

body.woocommerce-checkout #payment {
	background-color: transparent;
}

body.woocommerce-checkout #payment #place_order {
	margin-top: 2em;
	margin-left: auto;
}

.woocommerce-bacs-bank-details {
	margin-top: 2em;
}

.wc-bacs-bank-details-heading,
.woocommerce-order-details__title,
.woocommerce-customer-details > h2 {
	margin-bottom: 0.5em;
	font-size: 2.2rem;
	font-weight: 600;
	color: var(--main-color);
}

/****************************/
/******** ORDER RECEIVED
/****************************/

body.woocommerce-order-received #content--page .woocommerce-notice--success {
	margin-bottom: 2em;
	font-size: 22px;
	text-align: center;
	color: var(--main-color);
}

body.woocommerce-order-received #content--page .woocommerce-notice--success span {
	font-size: 16px;
}

body.woocommerce-order-received .wc-bacs-bank-details-account-name {
	font-size: 1.4rem;
}

body.woocommerce-order-received ul.order_details {
	padding: 2em;
	background-color: var(--page-color);
}

body.woocommerce-order-received ul.order_details li {
	width: 45%;
	border-right: 0;
}

body.woocommerce-order-received ul.order_details li:not(:last-child) {
	margin-bottom: 2em;
}

body.woocommerce-order-received #content--page .woocommerce-customer-details address {
	border-color: var(--main-color);
}

body.woocommerce-order-received #content--page .woocommerce-customer-details p {
	margin-bottom: 0;
}

.woocommerce-table--order-details .tc-associated-table-product-indent {
	padding-left: 0;
}

/****************************/
/******** MEDIA QUERIES
/****************************/

@media (max-width: 1440px) {
	#primary--menu li a {
		font-size: 14px;
	}
}

@media (max-width: 1280px) {
	#toggle--menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	#primary--menu {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		padding: 3em;
		background-color: var(--main-color);
		z-index: 2;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;

		transform: translateY(-100%);
		visibility: hidden;

		transition: all 0.3s ease;
	}

	#primary--menu.is-active {
		transform: translateY(0);
		visibility: visible;
	}

	#primary--menu li {
		opacity: 0;
		visibility: hidden;
		transform: translateY(-20px);
		transition-property: all;
		transition-duration: 0.3s;
		transition-timing-function: cubic-bezier(0.47, 1.64, 0.41, 0.8);
		transition-delay: 0s;
	}

	#primary--menu.is-active li {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	body.home #primary--menu li a {
		color: #fff;
	}

	#primary--menu li a {
		display: block;
		margin: 15px 0;
		font-size: 2rem;
	}

	#primary--menu li:not(:last-child) a {
		margin-right: 0;
	}

	#primary--menu li a::after {
		background-color: #fff;
	}

	/* FRONT PAGE */

	.hero--content h1 {
		font-size: 1.4em;
	}

	.hero--content h1 span.big {
		font-size: 3rem;
	}
}

@media (max-width: 1190px) {
	body.single-product div.product div.summary {
		width: 100%;
	}
}

@media (max-width: 990px) {
	/* HOME	*/

	#hero--wrapper {
		height: 90vh;
		/*		background-position: bottom !important;
		background-size: contain;*/
	}

	.img--content img {
		display: block;
		max-width: 350px;
		margin: 0 auto;
	}

	.hero--content {
		margin: 2em 0;
		text-align: center;
	}

	/*	.hero--content h1 {
		font-size: 2.5rem;
	}

	.hero--content h2 {
		font-size: 2rem;
		line-height: 45px;
	}*/

	.post--item {
		flex-wrap: wrap;
		margin-bottom: 2em;
	}

	.thumbnail--post {
		flex: 100%;
		height: 250px;
	}

	.post--content {
		flex: 100%;
		padding: 3em;
	}

	.post--content::after {
		content: none;
	}

	.card--img {
		margin-bottom: 2em;
	}

	#description--wrapper .row div:last-child .card--img {
		margin-bottom: 6em;
	}
}

@media (max-width: 768px) {
	body.home #site--branding img {
		width: 200px;
	}

	.hero--content {
		flex-direction: column;
	}

	.hero--content h1 {
		text-align: center;
		line-height: 45px;
	}

	.hero--content h2 {
		margin-bottom: 1em;
		padding-right: 0;
		text-align: center;
	}

	#main--wrapper .col {
		transform: translateY(-25%);
	}

	body.single-product .woocommerce-product-gallery {
		display: none;
	}

	body.single-product #content--page article {
		margin-bottom: 3em;
	}
}

@media (max-width: 576px) {
	*,
	html,
	body {
		font-size: 14px;
	}

	h2,
	h3,
	h4,
	h5,
	h6 {
		margin-bottom: 0.8em;
	}

	/*	h2 {
		font-size: 2rem;
	}

	h3 {
		font-size: 1.2rem;
	}

	h4 {
		font-size: 1rem;
	}

	h5 {
		font-size: 1rem;
	}*/

	body:not(.home) #site--branding img {
		width: 80px;
		top: 0;
	}

	body.home #site--branding img {
		top: 0;
	}

	#site--branding .site--baseline {
		display: none;
	}

	.hero--content h1 {
		padding: 15px;
		font-size: 18px;
		line-height: 30px;
	}

	.hero--content h1 span.big {
		font-size: 2rem;
	}

	.hero--content h2 {
		margin-bottom: 0;
		font-size: 20px;
		line-height: 40px;
	}

	.hero--content h2 span {
		padding: 10px 15px 7px;
	}

	.hero--content h3 {
		font-size: 20px;
	}

	.hero--content p {
		margin-bottom: 1em;
	}

	.hero--content p > span {
		height: 35px;
		line-height: 35px;
		font-size: 16px;
	}

	.img--content img {
		width: 300px;
	}

	.card--img {
		min-height: 250px;
	}

	#main--wrapper .col {
		padding: 1em 2em 0;
	}

	#toggle--menu {
		width: 60px;
		height: 60px;
	}

	#toggle--menu .hamburger-box,
	#toggle--menu .hamburger-inner,
	#toggle--menu .hamburger-inner:after,
	#toggle--menu .hamburger-inner:before {
		width: 30px;
	}

	#toggle--menu .hamburger-inner,
	#toggle--menu .hamburger-inner:after,
	#toggle--menu .hamburger-inner:before {
		height: 3px;
	}

	#primary--menu li a {
		margin: 10px 0;
		font-size: 1.5rem;
	}

	#site--footer .footer--infos {
		font-size: 16px;
	}

	#page--header h1 {
		font-size: 2.2rem;
	}

	#content--page article {
		padding: 1.5em;
	}

	body.woocommerce-shop .description {
		margin-bottom: 1em;
	}

	body.woocommerce-checkout #order_review .tc-epo-metadata,
	body.woocommerce-cart table.shop_table .tc-epo-metadata {
		columns: 1;
	}

	body.woocommerce-cart .woocommerce-message {
		display: flex;
		flex-direction: column-reverse;
	}
}
