#open-menu {
	background: none;
	border: none;
}

.menu {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%;
  height: 100vh;
  background: var(--green);
  color: white;
  display: none;
  flex-direction: column;
  padding: 2rem 1.5rem 3rem 1.5rem;
  z-index: 1000;
  .menu-screen-top {
	display: flex;
	width: 100%;
	justify-content: flex-end;
  }

  hr {
		border-top: 1px solid #ffffff;
		margin: 0;
	}
}

.menu[aria-hidden="false"] {
  display: flex;
}

.menu-screen {
  display: none;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.menu-screen.active {
  display: flex;
}

.menu ul {
  list-style: none;
  padding: 0;
  margin-top: 2rem;
}

.menu li {
  margin-bottom: 1.5rem;
}

.menu-item-section-head {
	font-size: 2rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid white;
	margin-bottom: 1.5rem;
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.menu-item-large {
	font-size: 2rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	padding: 1rem 0;
	margin-bottom: 1rem;
	width: 100%;
	display: block;
}

.menu-item-small {
	font-size: 1.7rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	padding: 1rem 0;
	margin-bottom: 0.5rem;
	width: 100%;
	display: block;
}

.has-children {
	background: none;
	border: none;
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.close-menu, .back-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: white;
  align-self: flex-start;
  width: auto;
  margin-bottom: 2.5rem;
}

.mobile-menu {
	display: none;
	background-color: var(--green);
	color: white;
	padding: 2rem 1.5rem 3rem 1.5rem;
	height: 100%;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	a {
		color: white;
	}
	button {
		background: none;
		border: none;
	}

	.mobile-menu-top {
		width: 100%;
		display: flex;
		justify-content: flex-end;
		.mobile-menu-close {
			padding: 1rem;
		}
	}

	ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
	}

	.menu-item-section-head {
		font-size: 2rem;
		font-family: 'Montserrat', sans-serif;
		font-weight: 700;
		padding-bottom: 1.5rem;
		border-bottom: 1px solid white;
		margin-bottom: 1.5rem;
	}

	.menu-item-parent{
		display: flex;
		width: 100%;
		justify-content: space-between;
	}
}


.site-search {
	position: relative;

	label {
		position: absolute;
		top: 1rem;
		left: 1.5rem;
		color: white;
		font-size: 2rem;
		font-weight: 400;
		transition: all 0.2s ease-in-out;
	}

	input#search-input {
		background: none;
		border: none;
		border: 1px solid white;
		min-height: 4.8rem;
		padding: 1rem 1.5rem;
		height: auto;
		color: white;
		font-size: 2rem;
		font-weight: 400;
	}

	button.soe-search-btn {
		background: none;
		border: none;
		position: absolute;
		top: 1rem;
		right: 1.5rem;
	}


	/** if active/focused **/
	input#search-input:focus ~ label, input#search-input:valid ~ label{
		font-size: 1.4rem;
	}

	input#search-input:focus ~ .soe-search-btn, input#search-input:valid ~ .soe-search-btn{
		top: 2.2rem;
	}

	input#search-input:focus, input#search-input:valid {
		padding-top: 3rem;
	}
}