/*
Theme Name: Biagiotti Child
Theme URI: https://biagiotti.qodeinteractive.com
Description: A child theme of Biagiotti Theme
Author: Mikado Themes
Author URI: http://themeforest.net/user/mikado-themes
Version: 1.5.4
Text Domain: biagiotti
Template: biagiotti
*/

@import "assets/css/fontawesome.all.min.css";

/**********
 * GLOBAL *
 **********/
body.logged-in .hide-if-logged-in {
	display: none;
}
.align-items-center {align-items: center;}
ul li { color: #444; }
.wp-caption-text { margin-top: 5px; }
.counter {
	border-radius: 100%;
	background: #000;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	height: 20px;
	line-height: 20px !important;
	margin-left: 3px;
	position: absolute;
	text-align: center;
	top: -5px;
	width: 20px;
}
.counter-alternate {
	background: #878382 !important;
}
.d-block {display: block !important}
.d-flex {display: flex !important}
.d-inline-block {display: inline-block !important}
.d-none, .hidden {display: none !important}
.gap-5 {gap: 5px;}
.gap-10 {gap: 10px;}
input[type=date] {
	position: relative;
	width: 100%;
	margin: 0 0 16px;
	padding: 12px 16px;
	font-family: Cormorant, serif;
	font-size: 18px;
	font-weight: 500;
	font-style: italic;
	line-height: calc(52px - (24px - 2px));
	color: #5a5a5a;
	background-color: transparent;
	border: 1px solid #cbcbcb;
	border-radius: 0;
	outline: 0;
	cursor: text;
	-webkit-appearance: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: border-color .2s ease-in-out;
	transition: border-color .2s ease-in-out;
}
.justify-space-between { justify-content: space-between }
.loader {
	width: 38px;
	height: 38px;
	border: 5px solid #000;
	border-bottom-color: transparent;
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	animation: rotation 1s linear infinite;
}
.loader-white {
	border-color: #FFF;
}
@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.mb-0, .my-0 {
	margin-bottom: 0 !important;
}
.mt-0, .my-0 {
	margin-top: 0 !important;
}
.mb-5, .my-5 {
	margin-bottom: 5px !important;
}
.ml-5, .mx-5 {
	margin-left: 5px !important;
}
.mr-5, .mx-5 {
	margin-right: 5px !important;
}
.mt-5, .my-5 {
	margin-top: 5px !important;
}
.mb-10, .my-10 {
	margin-bottom: 10px !important;
}
.ml-10, .mx-10 {
	margin-left: 10px !important;
}
.mr-10, .mx-10 {
	margin-right: 10px !important;
}
.mt-10, .my-10 {
	margin-top: 10px !important;
}
.mb-20, .my-20 {
	margin-bottom: 20px !important;
}
.mt-20, .my-20 {
	margin-top: 20px !important;
}
.mb-30, .my-30 {
	margin-bottom: 30px !important;
}
.mt-30, .my-30 {
	margin-top: 30px !important;
}
.mkdf-page-title {
	color: #FFF;
}
.rounded { border-radius: 5px !important}
.text-center {
	text-align: center !important;
}
.text-end {
	text-align: right;
}
.w-50 {
	width: 50% !important;
}
.w-100 {
	width: 100% !important;
}

label.required::after {
	content: '*';
	color: red;
}

.woocommerce-button {
	display: inline-block;
	vertical-align: middle;
	width: auto;
	margin: 0;
	font-family: "Source Serif 4", sans-serif;
	font-size: 12px;
	line-height: 2em;
	font-weight: 400;
	position: relative;
	text-transform: uppercase;
	letter-spacing: .2em;
	border-radius: 0;
	outline: 0;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-transition: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out;
	transition: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out;
	padding: 13px 48px;
	color: #fff;
	background-color: #000;
	border: 1px solid #000;
	z-index: 3;
}

.woocommerce-button.button-sm {
	padding: 5px 10px;
}

.mkdf-title-holder.mkdf-has-bg-image {
	background-size: cover;
}

/********
 * LOGO *
 ********/
.mkdf-logo-wrapper a {
	margin: 10px 0;
}

.mkdf-logo-wrapper a img {
	height: calc(100% - 20px);
}

/**********
 * FOOTER *
 **********/
.mkdf-page-footer .widget p,
.mkdf-page-footer .widget a {
	color: #FFF !important;
}

#mkdf-back-to-top {
	width: unset;
}
#mkdf-back-to-top>span {
	padding: 0 10px;
}

/****************
 * CONTACT FORM *
 ****************/
.wpcf7-not-valid-tip {
	margin: -23px 0 23px 0;
}
body.home .wpcf7 form.sent .wpcf7-response-output {
	color: #FFF;
}

/********************
 * PRODUCTS LISTING *
 ********************/
.mkdf-plc-holder .mkdf-plc-inner .mkdf-plc-text-inner .mkdf-plc-text-action,
ul.products>.product .mkdf-pl-inner .mkdf-pl-text-inner .mkdf-pl-text-action {
	display: flex !important;
	flex-direction: row-reverse;
	gap: 9px;
	justify-content: center;
}
.mkdf-plc-holder .mkdf-plc-inner .mkdf-plc-text-inner .added_to_cart,
.mkdf-plc-holder .mkdf-plc-inner .mkdf-plc-text-inner .add_to_cart_button,
ul.products>.product .added_to_cart,
ul.products>.product .button {
	display: none !important;
	margin-right: 0 !important;
}

/******************
 * SINGLE PRODUCT *
 ******************/
.mkdf-woo-single-page .mkdf-single-product-summary .mkdf-single-product-title,
#qode-quick-view-for-woocommerce-pop-up .qqvfw-m-content .qqvfw-m-summary-wrapper .mkdf-quantity-buttons {
	display: none !important;
}

.mkdf-woo-single-page .mkdf-single-product-summary .price .woocommerce-Price-amount {
	display: none;
}
.mkdf-woo-single-page .mkdf-single-product-summary .price {
	text-transform: initial !important;
}

.mkdf-woo-single-page .mkdf-single-product-summary .woocommerce-product-details__short-description {
	margin-top: 0 !important;
}
.product_offered {
	color: #444;
	font-size: 1rem;
	margin-bottom: 20px;
}

/********
 * CART *
 ********/
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata {
	display: none;
}
.mkdf-woocommerce-page.woocommerce-account .woocommerce-MyAccount-navigation ul li>a {
	padding: 0 !important;
}
.mkdf-woocommerce-page table.cart tr.cart_item td .variation {
	font-size: 85%;
	line-height: 1.2;
}
.mkdf-woocommerce-page table.cart tr.cart_item td .variation > div {
	display: block !important;
}
.mkdf-woocommerce-page table.cart tr.cart_item td .variation > div > span,
.mkdf-woocommerce-page table.cart tr.cart_item td .variation > div > strong {
	display: inline-block;
}

/************
 * CHECKOUT *
 ************/
.login-cta {
	margin-bottom: 30px;
	text-align: center;
}
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wp-block-woocommerce-checkout-order-summary-totals-block .wp-block-woocommerce-checkout-order-summary-shipping-block {
	display: none;
}

/*********
 * ORDER *
 *********/
.woocommerce-thankyou-order-received {
	text-align: center;
}

/********************
 * ACCOUNT - GLOBAL *
 ********************/
.woocommerce-breadcrumb {
	margin-bottom: 30px;
}
.mkdf-woocommerce-page.woocommerce-account .woocommerce h2.mkdf-empty-cart-title {
    padding-bottom: 26px;
}
.mkdf-woocommerce-page.woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: #878382 !important;
}
.mkdf-woocommerce-page.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	position: relative;
}
.mkdf-top-bar .mkdf-login-register-widget.mkdf-user-logged-in .mkdf-login-dropdown li a .mkdf-login-dropdown-item-inner {
	overflow: visible;
}
.mkdf-top-bar .mkdf-logged-in-user-name + .counter {
	top: 3px;
	font-size: 18px;
	line-height: 18px !important;
}

/******************
 * ACCOUNT - EDIT *
 ******************/
.custom-avatar-wrapper {
	align-items: center;
	display: flex;
	gap: 15px;
}
.custom-avatar-preview img {
	background: #fff;
	border: 2px solid #ddd;
	height: 100px;
	object-fit: cover;
	padding: 3px;
	width: 100px;
}

/********************
 * ACCOUNT - ORDERS *
 ********************/
.mkdf-woocommerce-page.woocommerce-account .woocommerce table.shop_table td, .mkdf-woocommerce-page.woocommerce-account .woocommerce table.shop_table th {
	padding: 14px 5px !important;
	vertical-align: top !important;
}
.wc-item-meta li {
	display: flex;
	gap: 5px;
}
.wc-item-meta li p {
	color: inherit;
	font-size: inherit;
	margin: 0;
}
.woocommerce-orders-table__cell-order-products ul {
	margin: 0;
	list-style-type: none;
}
.woocommerce-orders-table__cell-order-actions a {
	border-radius: 5px !important;
	padding: 5px 10px !important;
}
.woocommerce-orders-table__cell-order-actions a .dashicons {
	margin: 10px;
}
.woocommerce-Price-amount {
	white-space: nowrap;
}
.woocommerce-orders-table__cell-order-products-chat {
	text-align: center !important;
}
.woocommerce-MyAccount-content .order-details .column {
	border: 1px dotted #000;
	border-radius: 5px;
	box-sizing: border-box;
	padding: 15px;
	width: calc(50% - 10px);
}
@media only screen and (max-width: 768px) {
	.woocommerce-MyAccount-content .order-details {
		flex-direction: column;
	}
	.woocommerce-MyAccount-content .order-details .column {
		margin-bottom: 20px;
		width: 100%;
	}
}

/********************
 * ACCOUNT - TRAVEL *
 ********************/
 .travel-view {
	color: #444444;
	max-width: 600px;
}
 .travel-view .d-flex.infos {
	align-items: baseline;
}
.travel-view .vertical-separator {
	background: #767676;
	width: 1px;
}
.travel-view hr {
	max-width: unset;
	&.simple {
		height: 1px;
	}
}
.travel-view i {
	margin-right: 15px;
}
.travel-view i.fa-chevron-right {
	margin-left: auto;
	margin-right: unset;
}

.travel-view h1 {
	font-size: 1.8rem;
	margin-top: 0;
	text-transform: initial;
}
.travel-view .date-unconfirmed {
	color: #767676;
	font-style: italic;
}
.travel-view h3 {
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	margin: 0 0 15px;
	text-transform: uppercase;
}
.travel-view h4 {
	font-size: 21px;
}

.travel-view .thumbnail {
	background-position: center;
	background-size: cover;
	border-radius: 5px;
	height: 360px;
	@media (width < 768px) {
		height: 250px;
	}
}

.travel-view .dates label {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
}

.travel-view a.infos,
.travel-view .description * {
	color: inherit;
}

.travel-view .edit-program {
	float: right;
}

/********************
 * CUSTOM MODAL     *
 ********************/
.custom-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	padding-top: 100px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.4);
}

.custom-modal-content {
	background-color: #fff;
	margin: auto;
	padding: 20px;
	border: 1px solid #888;
	width: 50%;
	max-height: 80%;
	max-width: 600px;
	overflow: auto;
}

.custom-modal-close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
}

.custom-modal-close:hover,
.custom-modal-close:focus {
	color: black;
	text-decoration: none;
}
.custom-modal-confirm {
	margin: 45px 0 25px;
}