/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


body.logged-in.admin-bar .elementor-element.cstm_header {
	top: 32px;
}
.elementor-18 .elementor-element .list_icon_bg span.elementor-icon-list-icon {
	background-color: #ffffff;
	border-radius: 100%;
	padding: 0;
	height: 30px;
	width: 30px;
	align-items: center;
	justify-content: center;
	padding-inline-end: 0;
}


/* ==========================================
MASON MANOR - BOOKING PROCESS
FIGMA MATCHED DESIGN
========================================== */

.mm-booking-process {
	--mm-icon-bg: #cbe9fd;
	--mm-heading: #1a2427;
	--mm-text: #66706e;
	--mm-line: #015fc0;

	width: 100%;
	padding: 20px 0;
	font-family: 'Urbanist', sans-serif;
	box-sizing: border-box;
}

.mm-booking-process *,
.mm-booking-process *::before,
.mm-booking-process *::after {
	box-sizing: border-box;
}

/* ==========================================
MAIN GRID
========================================== */

.mm-booking-process .mm-steps {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;

	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	align-items: start;
	position: relative;
}

/* ==========================================
INDIVIDUAL STEP
========================================== */

.mm-booking-process .mm-step {
	min-width: 0;
	position: relative;

	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 24px;
	padding: 14px;
	text-align: center;
}

/* ==========================================
ORIGINAL FIGMA BLUE CURVED CONNECTOR
Color: #015FC0
Dash: 6px 6px
Includes start dot and end arrow
========================================== */

.mm-booking-process .mm-step:not(:last-child)::after {
	content: "";

	position: absolute;
	width: calc(100% - 76px);
	height: 28px;
	left: calc(50% + 38px);
	top: 27px;
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -5 244 28' fill='none'%3E%3Cpath d='M0 0 C44.0407 12.5 152.6978 30 235 0' stroke='%23015FC0' stroke-width='1' stroke-dasharray='6 6'/%3E%3Ccircle cx='0' cy='0' r='2.6667' fill='%23015FC0'/%3E%3Cpath d='M230.7 -1.45 L235 0 L233.1 4.1' stroke='%23015FC0' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;

	pointer-events: none;
	z-index: 0;
}

/* First connector - upward arc */
.mm-booking-process .mm-step:nth-child(1)::after {
	transform: scaleY(-1);
}

/* Second connector - downward arc */
.mm-booking-process .mm-step:nth-child(2)::after {
	transform: none;
}

/* Third connector - upward arc */
.mm-booking-process .mm-step:nth-child(3)::after {
	transform: scaleY(-1);
}

/* ==========================================
ICON BACKGROUND
========================================== */

.mm-booking-process .mm-step-icon {
	width: 44px;
	height: 44px;

	min-width: 44px;
	min-height: 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	background-color: var(--mm-icon-bg);
	border-radius: 32px;

	color: var(--mm-heading);

	position: relative;
	z-index: 1;

	/* No hover effects */
	transition: none;
	box-shadow: none;
	transform: none;
}

.mm-booking-process .mm-step-icon svg {
	width: 24px;
	height: 24px;

	display: block;
	flex-shrink: 0;
}

/* ==========================================
TEXT CONTENT
========================================== */

.mm-booking-process .mm-step-content {
	width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 6px;
}

/* Heading */

.mm-booking-process .mm-step-content h3 {
	margin: 0;
	padding: 0;

	font-family: 'Urbanist', sans-serif;
	font-size: 24px;
	font-weight: 600;

	line-height: 1.3;
	letter-spacing: 0;

	color: var(--mm-heading);
	text-align: center;
}

/* Description */

.mm-booking-process .mm-step-content p {
	margin: 0;
	padding: 0;

	font-family: 'Urbanist', sans-serif;
	font-size: 16px;
	font-weight: 400;

	line-height: 1.5;

	color: var(--mm-text);
	text-align: center;

	max-width: 270px;
}

/* ==========================================
DISABLE ALL ICON HOVER STYLES
========================================== */

.mm-booking-process .mm-step:hover .mm-step-icon {
	transform: none;
	box-shadow: none;
	background-color: var(--mm-icon-bg);
}

/* ==========================================
TABLET - 768px TO 1024px
TWO COLUMNS
========================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	.mm-booking-process .mm-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 34px;
	}

	.mm-booking-process .mm-step {
		gap: 20px;
		padding: 12px;
	}

	.mm-booking-process .mm-step-content h3 {
		font-size: 22px;
	}

	/* Remove connectors where rows end */
	.mm-booking-process .mm-step::after {
		display: none;
	}

	/* Draw connector for first step of each row */
	.mm-booking-process .mm-step:nth-child(1)::after,
	.mm-booking-process .mm-step:nth-child(3)::after {
		display: block;
		left: calc(50% + 38px);
		top: 25px;
		width: calc(100% - 76px);
	}
}

/* ==========================================
MOBILE - BELOW 768px
ONE COLUMN
========================================== */

@media (max-width: 767px) {

	.mm-booking-process {
		padding: 10px 0;
	}

	.mm-booking-process .mm-steps {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 20px;
		max-width: 420px;
	}

	.mm-booking-process .mm-step {
		gap: 14px;
		padding: 12px 16px;
	}

	/* Hide horizontal connectors on mobile */
	.mm-booking-process .mm-step::after,
	.mm-booking-process .mm-step:nth-child(1)::after,
	.mm-booking-process .mm-step:nth-child(2)::after,
	.mm-booking-process .mm-step:nth-child(3)::after {
		display: none;
	}

	.mm-booking-process .mm-step-content {
		gap: 6px;
	}

	.mm-booking-process .mm-step-content h3 {
		font-size: 21px;
		line-height: 1.3;
	}

	.mm-booking-process .mm-step-content p {
		font-size: 15px;
		line-height: 1.5;
		max-width: 310px;
	}
}

/* ==========================================
SMALL MOBILE - BELOW 376px
========================================== */

@media (max-width: 375px) {

	.mm-booking-process .mm-step-content h3 {
		font-size: 20px;
	}

	.mm-booking-process .mm-step-content p {
		font-size: 14px;
	}
}


.cocoen-drag::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22' viewBox='0 0 40 22' fill='none'%3E%3Cpath d='M14 16L8 11L14 6' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M26 6L32 11L26 16' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: 0 1.768px 8.841px 0 rgba(0, 0, 0, 0.35);
}
.blur_effect {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
a.hfe-menu-item.elementor-button i {
    margin-right: 5px;
    font-weight: 300;
    font-size: 17px;
}

.hfe-nav-menu a.hfe-menu-item, .hfe-nav-menu a.hfe-sub-menu-item {
    justify-content: center;
	gap: 3px;
}







