.search-cont {
	--font-family-body: var(--font-display);
	--search-icon: var(--white);
	--search-input-icon-bg: var(--dark-blue);
	--search-input-icon-bg-hover: var(--dark-blue);
}

.headerbox-search-form {
	display: flex;
}

.headerbox-search-form input[type="search"] {
	width: 100%;
	height: 40px;
	margin: 0;
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 900;
	line-height: var(--leading-none);
	color: var(--dark-blue);
	text-indent: var(--space-3);
	padding: 0;
	border: 2px solid var(--dark-blue);
	border-radius: 5px 0 0 5px;
}

.headerbox-search-form input[type="search"]::placeholder {
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 900;
	line-height: var(--leading-none);
	color: var(--dark-blue);
	text-transform: uppercase;
	text-indent: var(--space-3);
	opacity: 1;
}

.headerbox-search-form input[type="search"]::-webkit-search-decoration,
.headerbox-search-form input[type="search"]::-webkit-search-cancel-button,
.headerbox-search-form input[type="search"]::-webkit-search-results-button,
.headerbox-search-form input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance:none;
}

.headerbox-search-form button {
	width: 44px;
	height: 40px;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
	background-color: var(--search-input-icon-bg);
	color: var(--gray-100);
	border-radius: 0 5px 5px 0;
}

.headerbox-search-form button:hover {
	background-color: var(--search-input-icon-bg-hover);
}

.headerbox-search-form button i {
	font-size: var(--text-lg);
}

.search-cont .search-button {
	display: none;
	background: transparent;
	color: var(--search-icon);
}

@media screen and (min-width: 64em) {
	.search-cont {
		position: relative;
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	.search-cont .search-button {
		width: 40px;
		height: 40px;
		padding: 0;
		margin: 0;
	}

	.search-cont .search-button .close {
		display: none;
	}

	.search-cont.active .search-button .open {
		display: none;
	}

	.search-cont.active .search-button .close {
		display: block;
	}

	.search-cont .headerbox-search-form {
		opacity: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: var(--space-2);
		width: 335px;
		height: 58px;
		z-index: 25;
		display: flex;
		flex-direction: row-reverse;
		border: 2px solid var(--dark-blue);
		border-radius: 5px;
		transition: opacity var(--transition-appendix);
	}

	.search-cont.active .headerbox-search-form {
		opacity: 1;
		pointer-events: all;
	}

	.headerbox-search-form input[type="search"] {
		width: 100%;
		height: 100%;
		font-size: var(--text-xl);
		text-indent: 0;
		border: unset;
		border-radius: 0 5px 5px 0;
	}
	
	.headerbox-search-form input[type="search"]::placeholder {
		font-size: var(--text-xl);
		text-indent: 0;
	}

	.headerbox-search-form input[type="search"]:focus-visible {
		outline: 1px dashed var(--sw-fouc-color);
		outline-offset: -2px;
	}

	.headerbox-search-form button {
		width: 40px;
		height: 100%;
		background: var(--white);
		border-radius: 5px 0 0 5px;
		padding: 0;
		margin: 0;
	}

	.headerbox-search-form button:focus-visible {
		outline-offset: -2px;
	}

	@media (hover: hover) {
		.headerbox-search-form button:hover {
			background: var(--white);
		}
	}

	.headerbox-search-form button i {
		font-size: var(--text-lg);
		color: var(--dark-green);
	}

	.search-cont .search-button {
		display: block;
	}

	.search-cont .search-button:focus-visible {
		outline: 1px solid var(--sw-focus-color);
		outline-offset: -6px;
	}

	.search-cont .search-button.active {
		position: absolute;
		top: var(--space-2);
		right: var(--space-1);
		z-index: 25;
		height: 58px;
		color: var(--dark-green);
	}

	.search-cont .search-button.active:focus-visible {
		outline-offset: -4px;
	}

	.search-cont .search-button i {
		font-size: 1.375rem;
	}
}

/* Hamburger Header styles */
.dropdown-nav-container .search-cont .headerbox-search-form {
	opacity: 1;
	position: static;
	pointer-events: all;
}

.dropdown-nav-container .search-cont .headerbox-search-form input[type="search"] {
	height: unset;
}

.dropdown-nav-container .nav .search-cont .search-button {
	display: none;
}

@media (min-width: 64em) {
	.dropdown-nav-container .search-cont .headerbox-search-form {
		width: 100%;
	}

	.dropdown-nav-container .nav .search-cont .headerbox-search-form button {
		width: var(--space-12);
	}
}