.contact-hero {
	position: relative;
	height: 25vw;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.contact-hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;

}
picture.contact-hero-bg:after {
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    content: "";
    width: 100%;
    height: 100%;
}
.contact-hero-bg img {
	width: 100%;
	height: 100%;
	    object-fit: contain;
    object-position: center;
	display: block;
}

.contact-hero-title {
	position: relative;
	font-family: 'IvyMode';
	z-index: 1;
	font-size: 4.69vw;
	font-weight: 300;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 3px 99px #000000;
	margin: 0;
}

.contact-hero-line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #707070;
}

.contact-main {
	display: flex;
	gap: 3.49vw;
	padding: 5.05vw 18.75vw;
	align-items: flex-start;
}

.contact-left {
	width: 20.26vw;
	flex-shrink: 0;
}

.contact-body h2 {
	font-size: 2.6vw;
	font-weight: 400;
	color: #ffffff;
	line-height: 1;
	margin: 0 0 2.08vw;
}

.contact-body p {
	font-size: 0.94vw;
	font-weight: 400;
	color: #b2b2b2;
	line-height: 1.6;
	margin: 0 0 0.52vw;
}

.contact-body p strong {
	font-weight: 500;
	color: #ffffff;
}

.contact-body p strong a {
	color: #ffffff;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.contact-body p strong a:hover {
	opacity: 0.6;
}

.contact-right {
	flex: 1;
}

.contact-form-wrapper {
	position: relative;
}

.contact-form-wrapper .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1.15vw;
}

.contact-form-row {
	display: flex;
	gap: 0.885vw;
}

.contact-form-field {
	flex: 1;
}

.contact-form-field--full {
	width: 100%;
}

.contact-form-wrapper .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.contact-form-wrapper input[type="text"],
.contact-form-wrapper input[type="email"],
.contact-form-wrapper input[type="tel"] {
	width: 100%;
	height: 2.92vw;
	background: none;
	border: 0.5px solid #707070;
	outline: none;
	padding: 0 1.04vw;
	font-size: 0.78vw;
	font-weight: 500;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	box-sizing: border-box;
}

.contact-form-wrapper input::placeholder,
.contact-form-wrapper textarea::placeholder {
	color: #ffffff;
}

.contact-form-wrapper textarea {
	width: 100%;
	height: 9.11vw;
	background: none;
	border: 0.5px solid #707070;
	outline: none;
	padding: 1.04vw;
	font-size: 0.78vw;
	font-weight: 500;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	resize: none;
	box-sizing: border-box;
}

.contact-form-submit {
	display: flex;
	justify-content: flex-end;
}

.contact-form-wrapper .wpcf7-submit {
	height: 2.92vw;
	padding: 0 .56vw;
	background: #ffffff;
	border: none;
	cursor: pointer;
	font-size: 0.78vw;
	font-weight: 500;
	color: #010101;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: opacity 0.3s ease;
}
.contact-form-wrapper .wpcf7-form.submitting .wpcf7-submit {
	opacity: 0.6;
	pointer-events: none;
}
.contact-form-wrapper .wpcf7-submit:hover {
	opacity: 0.85;
}

.contact-form-wrapper .wpcf7-spinner {
	display: none;
}

.contact-form-wrapper .wpcf7-not-valid-tip {
	font-size: 0.63vw;
	color: rgba(255, 100, 100, 0.9);
	position: absolute;
	top: 110%;
}

.contact-form-wrapper .wpcf7-response-output {
	display: none !important;
}

.contact-form-popup {
	position: absolute;
	inset: 0;
	background: #010101;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	z-index: 10;
}

.contact-form-popup.is-visible,
.contact-form-wrapper:has(form.wpcf7-form.sent) .contact-form-popup {
	opacity: 1;
	visibility: visible;
}

.contact-form-popup-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.56vw;
	border: 0.5px solid #707070;
	padding: 3.13vw 4.17vw;
}

.contact-form-popup-icon svg {
	width: 3.65vw;
	height: auto;
}

.contact-form-popup-message {
	font-family: 'IvyMode', serif;
	font-size: 1.56vw;
	font-weight: 400;
	color: #ffffff;
	text-align: center;
	margin: 0;
	line-height: 1.5;
}

.contact-quote {
	padding: 6.35vw 0 4vw;
	text-align: center;
}

.contact-quote p {
	font-size: 2.34vw;
	font-weight: 400;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 auto;
	max-width: 48.4vw;
	font-family: 'IvyMode';
}

.contact-store {
	padding: 0 10vw 10vw;
}

.contact-store-locator {
	width: 100%;
	height: 36vw;
}
.contact-store-locator #wpsl-wrap {
    height: 100%;
}
.contact-store-locator #wpsl-gmap .wpsl-info-actions {
	display: none;
}

#wpsl-user-location {
	display: none !important;
}

.contact-store-locator #wpsl-gmap .gm-style-iw-c,
.contact-store-locator #wpsl-gmap .gm-style-iw-t {
	visibility: hidden;
}


.contact-store-locator #wpsl-result-list li p {
	padding: 0;
	margin: 0 0 0.1vw;
	font-size: 0.78vw;
	color: #b2b2b2;
	line-height: 1.5;
}

.contact-store-locator #wpsl-wrap .wpsl-info-window p {
	font-size: 0.78vw;
	color: #010101;
	line-height: 1.5;
	margin: 0;
}

.contact-store-locator #wpsl-stores .wpsl-store-thumb {
	width: 2.5vw;
	height: auto;
	object-fit: contain;
	object-position: center;
	flex-shrink: 0;
	align-self: center;
}

.contact-store-locator #wpsl-stores {
	padding: 0;
	margin-right: 0;
    border: 0.5px solid #707070;
    border-top: none;
	height: 33vw !important;
	overflow-y: auto;
	background: transparent;
	scrollbar-width: thin;
	scrollbar-color: #010101 #efefef;
}

.contact-store-locator #wpsl-stores::-webkit-scrollbar {
	width: 4px;
}

.contact-store-locator #wpsl-stores::-webkit-scrollbar-track {
	background: #efefef;
}

.contact-store-locator #wpsl-stores::-webkit-scrollbar-thumb {
	background: #010101;
}

.contact-store-locator #wpsl-result-list a.all-store {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0.5px solid #707070;
	color: #ffffff;
	padding: 0.5vw 2vw;
	margin: 2vw 0.8vw 1vw;
	font-family: 'IvyMode', serif;
	font-size: 0.78vw;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: opacity 0.3s ease;
}

.contact-store-locator #wpsl-result-list a.all-store:hover {
	opacity: 0.7;
}

.contact-store-locator .wpsl-store-location p span {
	margin-left: 0;
	display: block;
}

.contact-store-locator #wpsl-result-list li p.wpsl-contact-details strong {
	font-size: 0.78vw;
	margin: 0 0.2vw 0 0;
}

.contact-store-locator #wpsl-result-list .wpsl-contact-details span a {
	margin-left: 0.2vw;
	color: #b2b2b2;
}

.contact-store-locator #wpsl-result-list .wpsl-contact-details span {
	display: flex !important;
	line-height: 100%;
	margin-bottom: 0.15vw;
	margin-top: 0.15vw;
}

.contact-store-locator #wpsl-result-list li p strong {
	color: #ffffff;
	font-size: 0.94vw;
	font-weight: 500;
	margin-bottom: 0.2vw;
	display: block;
}

.contact-store-locator #wpsl-wrap #wpsl-result-list li {
	display: block;
	border-bottom: 0.5px solid #707070;
}

.contact-store-locator #wpsl-wrap {
	margin-bottom: 0;
}

.contact-store-locator .wpsl-store-location {
	padding: 1vw 0.8vw;
	cursor: pointer;
}

.contact-store-locator .wpsl-store-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1vw;
}

.contact-store-locator .wpsl-store-main {
	flex: 1;
}

.contact-store-locator .wpsl-toggle {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	width: 1.2vw;
	height: 1.2vw;
	position: relative;
	margin-top: 0vw;
}

.contact-store-locator .wpsl-toggle span {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.contact-store-locator .wpsl-toggle span::before,
.contact-store-locator .wpsl-toggle span::after {
	content: '';
	position: absolute;
	background: #707070;
	transition: opacity 0.2s ease, background 0.2s ease;
}

.contact-store-locator .wpsl-toggle span::before {
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.contact-store-locator .wpsl-toggle span::after {
	width: 1px;
	height: 100%;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}

.contact-store-locator .wpsl-toggle[aria-expanded="true"] span::after {
	opacity: 0;
}

.contact-store-locator .wpsl-toggle:hover span::before,
.contact-store-locator .wpsl-toggle:hover span::after {
	background: #ffffff;
}

.contact-store-locator .wpsl-store-drawer {
	display: none;
	padding: 0.5vw 0 0.6vw 4.6vw;
}
/* div[aria-label="depart"] {
    opacity: 0 !important;
    display: none !important;
} */
.contact-store-locator .wpsl-store-drawer.is-open {
	display: block;
}

.contact-store-locator .wpsl-drawer-item {
	display: block;
	font-size: 0.78vw;
	color: #b2b2b2;
	margin-bottom: 0.15vw;
}

.contact-store-locator .wpsl-drawer-item a {
	color: #b2b2b2;
	text-decoration: none;
}

.contact-store-locator .wpsl-directions {
	font-size: 0.78vw;
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.contact-store-locator #wpsl-result-list a {
	color: #b2b2b2;
	text-decoration: none;
}

.contact-store-locator .wpsl-search {
	background: transparent;
    margin-bottom: 0;
    width: 33%;
    margin-left: 0;
    border: 0.5px solid #707070;
    padding: 0 0;
}

.contact-store-locator #wpsl-gmap {
	height: 100% !important;
	position: absolute !important;
	top: 0;
	right: 0;
}

.contact-store-locator #wpsl-result-list {
	border: none;
	    margin-right: 0;
}

.contact-store-locator .wpsl-direction-wrap {
	margin-top: 0.4vw;
}

p.wpsl-direction-after {
	display: none;
}

.contact-store-locator #wpsl-search-wrap .wpsl-input label {
	width: auto;
	font-size: 0.78vw;
	font-weight: 400;
	color: #707070;
	position: absolute;
	top: 50%;
	left: 1vw;
	transform: translateY(-50%);
	pointer-events: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: opacity 0.2s ease;
}

#wpsl-search-wrap form {
	display: flex;
	align-items: stretch;
}

.contact-store-locator #wpsl-search-wrap .wpsl-input,
#wpsl-search-wrap .wpsl-select-wrap {
	flex: 1;
	position: relative;
	margin-bottom: 0;
}
.contact-store-locator #wpsl-search-btn,
.contact-store-locator #wpsl-search-wrap div {
	margin-right: unset;
	float: unset;
}

.contact-store-locator .wpsl-search-btn-wrap {
	flex-shrink: 0;
}

.contact-store-locator #wpsl-search-btn {
	width: 2.92vw;
	height: 2.92vw;
	padding: 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7' stroke='%23ffffff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1.1vw;
	border: 0.5px solid #707070;
	font-size: 0;
	color: transparent;
	cursor: pointer;
	box-shadow: none;
	border-radius: 0;
	transition: border-color 0.3s ease;
	flex-shrink: 0;
}

.contact-store-locator #wpsl-search-btn:hover {
	border-color: #ffffff;
}

.contact-store-locator .wpsl-input #wpsl-search-input {
    border: none !important;
    padding: 0vw 1.04vw !important;
    width: 100% !important;
    height: 2.92vw !important;
    background: transparent;
    font-size: 0.78vw;
    color: #ffffff;
    outline: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}

.contact-store-locator .wpsl-input input::placeholder {
	color: #707070;
}

.contact-store-locator .wpsl-input input:focus ~ label,
.contact-store-locator .wpsl-input input:not(:placeholder-shown) ~ label {
	opacity: 0;
}

@media only screen and (max-width: 767px) {
	.contact-hero {
		height: 120vw;
	}

	.contact-hero-title {
		font-size: 11.79vw;
	}
	.contact-hero-bg img {
		object-fit: cover;
	}
	.contact-main {
		flex-direction: column;
		padding: 12.82vw 6.15vw 15.38vw;
		gap: 5vw;
	}

	.contact-left {
		width: 100%;
	}

	.contact-body h2 {
		font-size: 6.41vw;
		margin-bottom: 5.13vw;
	}

	.contact-body p {
		font-size: 3.59vw;
		margin-bottom: 3vw;
	}

	.contact-form-wrapper .wpcf7-form {
		gap: 3.08vw;
	}

	.contact-form-row {
		flex-direction: column;
		gap: 3.08vw;
	}

	.contact-form-wrapper input[type="text"],
	.contact-form-wrapper input[type="email"],
	.contact-form-wrapper input[type="tel"] {
		height: 10vw;
		padding: 0 4vw;
		font-size: 3.2vw;
	}

	.contact-form-wrapper textarea {
		height: 35.9vw;
		padding: 4vw;
		font-size: 3.2vw;
	}

	.contact-form-wrapper .wpcf7-submit {
		height: 10vw;
		padding: 0 5.13vw;
		font-size: 3.2vw;
	}

	.contact-form-wrapper .wpcf7-not-valid-tip {
		font-size: 2.82vw;
	}

	.contact-form-popup-card {
		gap: 6.15vw;
		padding: 10.26vw 8.97vw;
	}

	.contact-form-popup-icon svg {
		width: 17.95vw;
	}

	.contact-form-popup-message {
		font-size: 4.62vw;
	}

	.contact-quote {
		padding: 5vw 6.15vw;
	}

	.contact-quote p {
		font-size: 5.64vw;
		max-width: 100%;
	}

	.contact-image {
		padding: 0;
		margin-bottom: 10.26vw;
	}


	.contact-store {
		padding: 0 0 0vw;
	}

	.contact-store-locator {
		height: 150vw;
	}

	.wpsl-mobile-tabs {
		display: flex;
		border-bottom: 0.5px solid #707070;
		margin-bottom: 0;
	}

	.wpsl-tab {
		flex: 1;
		padding: 4.1vw 0;
		background: transparent;
		border: none;
		border-bottom: 2px solid transparent;
		color: #707070;
		font-family: 'MonaSans', sans-serif;
		font-size: 3.08vw;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		cursor: pointer;
		transition: color 0.2s ease, border-color 0.2s ease;
		margin-bottom: -1px;
	}

	.wpsl-tab.is-active {
		color: #ffffff;
		border-bottom-color: #ffffff;
	}

	.contact-store-locator #wpsl-wrap[data-active-tab="stores"] #wpsl-gmap {
		display: none !important;
	}

	.contact-store-locator #wpsl-wrap[data-active-tab="map"] .wpsl-search,
	.contact-store-locator #wpsl-wrap[data-active-tab="map"] #wpsl-result-list {
		display: none !important;
	}

	.contact-store-locator #wpsl-wrap[data-active-tab="map"] #wpsl-gmap {
		height: 137vw !important;
        margin: 0 0 0;
		position: relative !important;
		top: unset;
		right: unset;
		width: 100% !important;
	}

	.contact-store-locator #wpsl-wrap[data-active-tab="stores"] #wpsl-result-list {
		height: 120vw;
		overflow-y: auto;
	}
	.contact-store-locator  #wpsl-search-input {
		
	}
	.contact-store-locator .wpsl-input #wpsl-search-input {
		font-size: 3.2vw !important;
		padding: 0vw 2vw 0vw !important;
		height: 10vw !important;
	}
	.contact-store-locator #wpsl-wrap[data-active-tab="stores"] #wpsl-stores {
		height: 100% !important;
	}

	.contact-store-locator .wpsl-search {
		width: 100%;
		margin-left: 0;
		padding: 2vw;
	}

	.contact-store-locator #wpsl-search-wrap .wpsl-input label {
		display: none;
	}

	.contact-store-locator #wpsl-stores {
		height: 80% !important;
	}

	.contact-store-locator #wpsl-result-list li p strong {
		font-size: 3.5vw;
		margin-bottom: 1vw;
	}

	.contact-store-locator #wpsl-stores .wpsl-store-thumb {
		width: 9vw;
	}

	.contact-store-locator .wpsl-store-location p span {
		margin-left: 0;
		font-size: 3vw;
	}

	.contact-store-locator #wpsl-result-list li p.wpsl-contact-details strong {
		font-size: 3vw;
		margin: 0 0.4vw 0 0;
	}

	.contact-store-locator #wpsl-result-list a {
		font-size: 3vw;
	}

	.contact-store-locator #wpsl-wrap #wpsl-result-list li {
		padding: 2.5vw 0;
	}

	.contact-store-locator .wpsl-store-location {
		padding: 3vw 2vw;
	}

	.contact-store-locator .wpsl-toggle {
		width: 5vw;
		height: 5vw;
		margin-top: 0vw;
	}

	.contact-store-locator .wpsl-store-drawer {
		padding: 1vw 0 2vw 15vw;
	}

	.contact-store-locator .wpsl-drawer-item {
		font-size: 3vw;
	}

	.contact-store-locator .wpsl-directions {
		font-size: 3vw;
	}

	.contact-store-locator .wpsl-direction-wrap {
		margin-top: 1vw;
	}

	.contact-store-locator #wpsl-result-list a.all-store {
		padding: 2vw 4vw;
		margin: 6vw 0 2vw 0;
		width: 40vw;
		font-size: 3.2vw;
	}

	.contact-store-locator #wpsl-wrap .wpsl-info-window p {
		font-size: 3vw;
		margin-bottom: 0;
	}

	.contact-store-locator #wpsl-search-btn {
		width: 10vw;
		height: 10vw;
		background-size: 4vw;
	}


	.contact-store-locator #wpsl-result-list li p {
		font-size: 3vw;
	}
	.wpsl-search-btn-wrap {
        margin-top: 0 !important;
    }
}
