footer li.menu-item-has-children {
	width: 33.3333%;
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	flex-direction: column;
}

footer li.menu-item-has-children > a {
	width: 90%;
	padding-top: .5rem;
	border-top: solid .0625rem var(--white-brand);
}

footer li a {
	text-decoration: none;
}

footer li ul.sub-menu {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


footer .menu {
	flex-direction: column;
	align-items: flex-start;
}

footer li.menu-item-has-children ul li a {
	font-size: .875rem;
}

.footer-logo img {
	width: 8rem;
	height: 2rem;
}

.footer-menu .menu {
	gap: 2rem;
}

.social-icons img {
	width: 1.5rem;
	height: 1.5rem;
}

.social-icons a {
	text-decoration: none;
}

.faq-drawer input[type="checkbox"] {
	display: none;
}

.menu-item-has-children .sub-menu {
	display: none;
  	position: absolute;
 	left: 50%;
	width: 10rem;
  	transform: translate(-50%);
	border: solid 2px var(--yellow);
	background-color: var(--gray);
	border-top: none;
  	z-index: 5;
	padding-top: 10px;
	padding-bottom: 10px;
}

.menu-item-has-children .sub-menu li {
	padding-top: 1rem;
	margin-left: 1rem; 
}

.menu-item-has-children {
	position: relative;
  	display: inline-block;
}

@media screen and ( min-width: 48rem ) {
	
	.menu-item-has-children:hover .sub-menu {
		display: block;
	}
	
	nav li.home {
		position: relative;
		width: 8rem;
		height: 2rem;
	}

	nav li.home a {
		font-size: 0;
		width: 100%;
		height: 2rem;
		color: transparent;
	}

	nav li.home a:after {
		background-image: url("../images/logo.png");
    	background-size: 8rem 2rem;
    	display: inline-block;
    	width: 8rem;
		height: 2rem;
    	content:"";
	}
	
	nav #menu-main-menu li {
		flex-basis: 100%;
		text-align: center;
	}
	
	nav #menu-main-menu .sub-menu li {
		text-align: left;
	}
	
	.footer-gap {
		gap: 2rem;
	}
	
}

@media screen and (max-width: 64rem) {
	footer #menu-footer-menu {
		padding-top: 1rem;
		padding-bottom: 1rem;
		margin-left: .25rem;
	}
}

@media screen and ( max-width: 47.9375rem ) {
	
	nav li.home {
		display: none;
	}
	
	.navigation {
		position: relative;
		padding-right: 0;
	}
	
	nav li.home-mobile {
		position: relative;
		width: 6rem;
		height: 1.5rem;
	}

	nav li.home-mobile a {
		font-size: 0;
		width: 100%;
		height: 1.5rem;
		color: transparent;
	}

	nav li.home-mobile a:after {
		background-image: url("../images/logo.png");
    	background-size: 6rem 1.5rem;
		display: inline-block;
		width: 6rem;
		height: 1.5rem;
		content: "";
	}
	
	.navigation__wrapper {
		flex-grow: 1;
	}

	.navigation__links {
		position: fixed;
		width: 19rem;
		height: 100vh;
		padding-top: 1.5rem;
		left: -63rem;
		top: -.625rem;
		transition: left .2s ease-in;
		list-style: none;
		box-shadow: .0625rem .0625rem .625rem 0rem rgba(0,0,0,0.75);
		flex-direction: column;
		justify-content: flex-start;
		border-top-right-radius: .25rem;
	}
	
	.navigation__links li {
		padding: .5rem 1.5rem;
		text-align: right;
		width: 80%;
		flex-basis: 0;
	}
	
	.navigation__links a {
		color: var(--white);
		text-decoration: none;
		font-size: 1.25rem;
	}
	
	#hamburger {
		visibility: hidden;
	}
	
	.navigation__button {
		position: relative;
		display: inline-block;
		width: 2.25rem;
		height: 2rem;
		background: transparent;
		border: .125rem solid var(--white);
		cursor: pointer;
		border-radius: .25rem;
	}
	
	.navigation__button span {
		position: absolute;
		left: .375rem;
		display: inline-block;
		width: 1.5rem;
		height: .125rem;
		background-color: var(--white);
		transform-origin: center;
		transition: opacity 0.2s linear, all 0.3s linear;
	}
	
	.background-white-brand .navigation__button span {
		background-color: var(--gray);
	}
	
	.background-white-brand .navigation__button {
		border: .125rem solid var(--gray);
	}
	
	.navigation__button span:nth-of-type(1) {
		top: .5625rem;
	}
	
	.navigation__button span:nth-of-type(2) {
		top: .9375rem;
	}
	
	.navigation__button span:nth-of-type(3) {
		top: 1.3125rem;
	}

/* Here comes the magic */
	#hamburger:checked ~ .navigation__links {
  /* Or it can be "input[type="checkbox"] ~ .navigation__links" */
		left: 0;
	}

/* Styles for our "close" button */
	#hamburger:checked ~ .navigation__button span:nth-of-type(1) {
		transform: rotate(45deg);
		top: 1rem;
	}
	
	#hamburger:checked ~ .navigation__button span:nth-of-type(2) {
		opacity: 0;
	}
	
	#hamburger:checked ~ .navigation__button span:nth-of-type(3) {
		transform: rotate(-45deg);
		top: 1rem;
	}
	
	/* ACCORDION */
	.faq-drawer__content-wrapper {
		line-height: 1.35;
		max-height: 0rem;
		overflow: hidden;
		transition: 0.25s ease-in-out;
	}
	
	.faq-drawer__title {
		display: block;
		padding: 0;
		position: relative;
		margin-bottom: 0;
		transition: all 0.2s ease-out;
	}
	
	.faq-drawer__title::after {
		border-style: solid;
		border-width: .0625rem .0625rem 0 0;
		content: " ";
		display: inline-block;
		float: right;
		height: .625rem;
		left: -.125rem;
		position: relative;
		right: 1.5em;
		top: .125rem;
		transform: rotate(135deg);
		transition: 0.3s ease-in-out;
		vertical-align: top;
		width: .625rem;
	}
	
	.faq-drawer__trigger:checked + .faq-drawer__title + .faq-drawer__content-wrapper {
		max-height: 100vh;
	}
	
	.faq-drawer__trigger:checked + .faq-drawer__title::after {
		transform: rotate(-45deg);
		transition: 0.2s ease-in-out;
	}
	
	/* FOOTER */
	
	footer li.menu-item-has-children {
		width: 100%;
	}
	
	#menu-footer-menu {
		display: flex;
    	flex-wrap: wrap;
    	justify-content: flex-start;
	}
	
	#menu-footer-menu-1 {
		flex-direction: column;
		padding: 2rem 0;
		align-items: center;
	}
	
	.footer-menu .menu {
		gap: 1rem;
	}

	
	footer li.menu-item-has-children > a {
		width: 100%;
	}
	
}