.mega-menu .header__nav-bar {
	position: relative;
}

.mega-menu:after {
	content: " ";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #333;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity .25s,visibility 0s .25s;
	transition: opacity .25s,visibility 0s .25s;
}

.mega-menu.no-scroll {
	position: relative;
	overflow: hidden;
	height: 100%;
}

	.mega-menu.no-scroll .header__nav-bar.is-hidden {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	.mega-menu.no-scroll:after {
		opacity: .75;
		visibility: visible;
		-webkit-transition: opacity .25s,visibility 0s 0s;
		transition: opacity .25s,visibility 0s 0s;
		z-index: 99;
	}

.mega-menu__container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background-color: #fff;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 100;
	-webkit-box-shadow: 0 .3rem .8rem rgba(0,0,0,.1);
	box-shadow: 0 .3rem .8rem rgba(0,0,0,.1);
	max-height: 52rem;
}

.mega-menu__container--compact {
	max-height: 70rem;
}

.mega-menu__active-menu {
	background-color: #ec1a2e !important;
	color: #fff !important;
}

.mega-menu .menu-item--hide-default.menu-item:hover .sub-menu {
	display: none;
}

.mega-menu .mega-menu-side-nav {
	background-color: #ececec;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 2.4rem;
	min-height: 52rem;
	width: 26rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-height: 52rem;
}

.mega-menu .mega-menu-side-nav--compact {
	max-height: 70rem;
}

.mega-menu .mega-menu-sub-nav__navs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

	.mega-menu .mega-menu-sub-nav__navs a {
		color: #333;
		margin-bottom: .8rem;
		-webkit-transition: color .2s;
		transition: color .2s;
	}

		.mega-menu .mega-menu-sub-nav__navs a:hover {
			color: #ec1a2e;
		}

.mega-menu .mega-menu-sub-nav__navs--compact {
	margin-bottom: 1.6rem;
}

	.mega-menu .mega-menu-sub-nav__navs--compact a {
		font-size: 1.2rem;
		margin-bottom: 0;
	}

.mega-menu .mega-menu-sub-nav h3 {
	color: #777;
	font-size: 1.8rem;
	margin-bottom: .8rem;
}

.mega-menu .mega-menu-sub-nav .menu-item__icon {
	padding-right: .4rem;
}

.mega-menu .mega-menu__hours.loading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.mega-menu .mega-menu__hours .fa-spinner {
	font-size: 3rem;
	color: #ec1a2e;
}

.mega-menu .mega-menu__hours h5 {
	color: #333;
	font-size: 1.8rem;
}

.mega-menu .mega-menu__hours h6 {
	margin-bottom: .8rem;
}

.mega-menu .mega-menu__hours .hours {
	font-size: 1.2rem;
}

.mega-menu .mega-menu__hours .hours__day {
	padding-left: 0;
	color: #333;
	padding-right: 2.4rem;
}

.mega-menu .mega-menu__hours .hours__row--active {
	color: #ec1a2e;
}

	.mega-menu .mega-menu__hours .hours__row--active .hours__day:before {
		display: none;
	}

.mega-menu .mega-menu-fragment-container {
	width: calc(100% - 24.4rem);
}

.mega-menu .mega-menu-fragment-container__fragment {
	overflow: auto;
	max-height: 52rem;
	overflow-x: hidden;
	padding: 0;
}

	.mega-menu .mega-menu-fragment-container__fragment:first-child .mega-menu__links-list, .mega-menu .mega-menu-fragment-container__fragment:first-child .tree {
		background: #ececec;
	}

	.mega-menu .mega-menu-fragment-container__fragment:nth-child(2) .mega-menu__links-list, .mega-menu .mega-menu-fragment-container__fragment:nth-child(2) .tree {
		background: #f4f4f4;
	}

	.mega-menu .mega-menu-fragment-container__fragment:nth-child(3) .mega-menu__links-list, .mega-menu .mega-menu-fragment-container__fragment:nth-child(3) .tree {
		background: #fafafa;
	}

.mega-menu .mega-menu-fragment-container--no-overflow {
	overflow: visible !important;
	overflow-x: visible !important;
}

.mega-menu .mega-menu-fragment-container--no-side-nav {
	width: calc(100% + 1.6rem);
}

.mega-menu .mega-menu__fragment {
	position: relative;
	padding: 2.4rem;
	height: 100%;
}

	.mega-menu .mega-menu__fragment.loading {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.mega-menu .mega-menu__fragment .fa-spinner {
		font-size: 3rem;
		color: #ec1a2e;
	}

	.mega-menu .mega-menu__fragment .row {
		width: calc(100% + 3.2rem);
	}

.mega-menu .mega-menu__fragment--half-size {
	font-size: .8em;
}

.mega-menu .mega-menu__fragment .wpcf7-form {
	margin-left: .4rem;
	margin-right: .4rem;
}

	.mega-menu .mega-menu__fragment .wpcf7-form .title {
		font-size: 1.6rem;
		padding-bottom: .8rem;
	}

.mega-menu .mega-menu__fragment-title {
	font-size: 1.8rem;
	margin-bottom: .4rem;
	width: 100%;
}

.mega-menu .mega-menu__subtitle {
	font-size: 1.4rem;
	width: 100%;
}

.mega-menu .mega-menu__gmaps .row {
	height: 100%;
}

.mega-menu .mega-menu__gmaps--map {
	height: 50%;
}

	.mega-menu .mega-menu__gmaps--map .gmaps-full-height {
		height: 100%;
		max-height: 600px;
	}

.mega-menu .mega-menu__gmaps--half-size .map-sidebar {
	height: auto !important;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	padding: 1.6rem;
}

.mega-menu .mega-menu__gmaps--half-size .has-sidebar {
	margin-left: 0;
	margin-bottom: .8rem;
}

.mega-menu .mega-menu__gmaps-link {
	height: 100%;
	background-position: 50%;
	background-repeat: no-repeat;
}

.mega-menu .mega-menu__gmaps-info h4 {
	font-size: 1.8rem;
	margin-bottom: .8rem;
	color: #333;
}

.mega-menu .mega-menu__gmaps-info p {
	color: #333;
}

.mega-menu .mega-menu__gmaps-info--address {
	margin-bottom: 1.6rem;
}

.mega-menu .mega-menu__gmaps-info--email, .mega-menu .mega-menu__gmaps-info--phones {
	margin-bottom: .4rem;
}

	.mega-menu .mega-menu__gmaps-info--email i, .mega-menu .mega-menu__gmaps-info--phones i {
		color: #ec1a2e;
		margin-right: .4rem;
	}

	.mega-menu .mega-menu__gmaps-info--email a, .mega-menu .mega-menu__gmaps-info--phones a {
		color: #333;
	}

		.mega-menu .mega-menu__gmaps-info--email a:hover, .mega-menu .mega-menu__gmaps-info--phones a:hover {
			color: #e00e22;
		}

.mega-menu .mega-menu__calculator {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.mega-menu .mega-menu__calculator__label {
	font-size: 1.3rem;
	width: 100%;
}

.mega-menu .mega-menu__calculator h3 {
	margin-bottom: 0;
}

.mega-menu .mega-menu__calculator__result {
	text-align: right;
	width: 100%;
	margin-top: 1.6rem;
}

	.mega-menu .mega-menu__calculator__result h3 {
		font-size: 1.6rem;
	}

	.mega-menu .mega-menu__calculator__result span {
		font-size: 3.2rem;
		color: #ec1a2e;
	}

.mega-menu .mega-menu__contact--title {
	margin: .8rem;
}

.mega-menu .mega-menu__slider {
	width: 100%;
	margin-top: 1.6rem;
	position: relative;
}

	.mega-menu .mega-menu__slider .vue-slider-wrap {
		margin: 0 -.8rem;
		width: calc(100% + 1.6rem);
	}

		.mega-menu .mega-menu__slider .vue-slider-wrap .tooltip {
			position: absolute;
			top: 0;
			right: 0;
			background: none;
			padding: 0;
			font-size: 1.4rem;
			color: #ec1a2e;
			font-weight: 700;
			-webkit-box-shadow: none;
			box-shadow: none;
		}

			.mega-menu .mega-menu__slider .vue-slider-wrap .tooltip:after {
				content: "";
				display: none;
			}

.mega-menu .mega-menu__links-list {
	height: 100%;
}

	.mega-menu .mega-menu__links-list .tree {
		padding: 2.4rem;
	}

	.mega-menu .mega-menu__links-list .tree__list {
		margin-top: -.8rem;
	}

		.mega-menu .mega-menu__links-list .tree__list .node-tree {
			margin-left: 1.6rem;
		}

			.mega-menu .mega-menu__links-list .tree__list .node-tree h3 {
				color: #777;
				font-size: 1.8rem;
				margin: .8rem 0;
			}

			.mega-menu .mega-menu__links-list .tree__list .node-tree a {
				color: #333;
				-webkit-transition: color .2s;
				transition: color .2s;
			}

			.mega-menu .mega-menu__links-list .tree__list .node-tree li {
				margin-bottom: .8rem
			}

	.mega-menu .mega-menu__links-list .tree ul {
		list-style-type: none;
	}
