

/* ----------------------------------------------------
		Start Header
------------------------------------------------------- */

header {
	display: flex;
	justify-content: space-between;
	align-items:center;
	margin-bottom: 10px;
	position: relative;
	z-index: 1000;
	background-color: #FFF;
	transition: top .5s ease-in-out;
}

header .headerLogo {
	width: 107px;
	transition: left .5s ease-in-out;
}

header .headerMenuContent {
	padding: 28px 0;
}

@media screen and (min-width:1300px) {
	header .headerLogo {
		width: 8%;
		left:0;
	}
}

@media screen and (min-width:1360px) {
	header {
		justify-content: space-between;
	}
}

@media screen and (min-width:1600px) {
	header {
		justify-content: flex-end;
	}

	header .headerLogo {
		width: 220px;
		position: absolute;
		top: 0;
		left: 3.5%;
		transition: width .5s ease-out;
	}
}

/* ----------------------------------------------------
		End Header
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Main Nav
------------------------------------------------------- */

#MainNavWrap {
	display: none;
	z-index: 1000;
	font-size: 17px;
}

#MainNavWrap .mainNav {
	display: flex;
	justify-content: flex-end;
}

#MainNavWrap .mainNavItem {
	padding-right: 20px;
	transition: padding-right 0.3s ease-in-out;
}

#MainNavWrap .mainNavItem > a {
	color: #353535;
}

#MainNavWrap .mainNavItem:hover > a,
#MainNavWrap .mainNavItem.sectionOpen > a {
	color: #1099d6;
}

#MainNavWrap .mainNavItem:hover > a svg .line,
#MainNavWrap .mainNavItem.sectionOpen > a svg .line {
	stroke: #1099d6;
}

#MainNavWrap .mainNavItem .arrowIcon {
	padding-left: 6px;
}

#MainNavWrap .mainNavItem:last-of-type {
	padding-right: 0;
}

header .headerPhone a {
	display: flex;
	justify-content:flex-start !important;
	align-items: center;
	font-weight: 700;
	font-size:17px !important;
	transform: translate(0, -3px);
}

header .headerPhone svg {
	width: 35px !important;
	height: 35px !important;
	margin-right: 10px;
}

header .headerPhone svg > * {
	fill: #4e4842;
	stroke-width: 0px;
}

header .headerPhone a {
	color: #4e4742;
}

header .headerPhone a:hover {
	color: #1099d6;
}

#MainNavWrap .subNavWrapper {
	width: 100%;
	height: calc(100vh - 125px);
	position: fixed;
	right: -420px;
	z-index: 3000;
	font-size: 16px;
	background-color: #fff;
	max-width: 420px;
	transition: right 0.4s ease-in-out;
	top: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}

#MainNavWrap .subNavWrapper::-webkit-scrollbar-track {
	background: #FFF;
}

#MainNavWrap .subNavWrapper.open {
	right: 0%;
}

#MainNavWrap .closeSubNavBtn {
	color: #b20837;
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	padding: 10px 30px 10px 0;
	gap: 0 10px;
	text-transform: uppercase;
	font-size: 0.9em;
	z-index: 2;
	font-weight: 700;
}

#MainNavWrap .closeSubNavBtn .bars {
	display: flex;
	align-items: center;
}

#MainNavWrap .closeSubNavBtn .bar:nth-child(1) {
	transform: rotate(45deg);
}

#MainNavWrap .closeSubNavBtn .bar:nth-child(2) {
	transform: rotate(-45deg);
}

#MainNavWrap .closeSubNavBtn .bar {
	width: 1px;
	height: 20px;
	background-color: #b20837;
	display: block;
}

.navigationStyles .backButtonWrap {
	min-height: 50px;
}

.navigationStyles .backButtonWrap a {
	color: #b20837 !important;
	font-size: 0.9em;
	text-transform: uppercase;
	display: flex !important;
	align-items: center;
	gap: 10px;
	z-index: -1;
	font-weight: 700;
}

#MainNavWrap .subNav {
	display: block;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-bottomleft: 5px;
	-moz-border-radius-bottomright: 5px;
	z-index: 0;
	padding: 25px 30px;
}

.navigationStyles .subNav a.subNavLink {
	font-size: 1.25em;
	margin-bottom: 20px;
}

.navigationStyles .subNav a.subNavLink:has(+ul .subNavLink.current) {
	color: #a41f35;
}

.navigationStyles .subNav a.subNavLink,
.navigationStyles .subNav .parentItem a {
	transition: color 0.2s ease-in-out, margin-left 0.15s linear;
	transform-origin: center center;
}

.navigationStyles .subNav .parentItem a:hover,
.navigationStyles .subNav a.subNavLink:hover {
	color: #1099d6;
}

.navigationStyles ul > li > a.subNavLink:hover {
	margin-left: 5px;
}

.navigationStyles ul > li > a.subNavLink:hover svg .line {
	stroke: #1099d6 !important;
}

.navigationStyles .subNav .parentItem {
	margin-bottom: 30px;
}

.navigationStyles .subNav .parentItem a {
	text-transform: uppercase;
	font-family: 'aileronsemibold', Arial, Helvetica, sans-serif;
	font-size: 0.95em;
	font-weight: 700;
}

.navigationStyles .subNav a {
	position: relative;
	z-index: 1;
}

#MainNavWrap .subNav.open {
	z-index: 1;
}

.navigationStyles .mainNav .subNav > li {
	display: flex;
	justify-content: space-between;
	width: 100%;
	flex-wrap: wrap;
}

.navigationStyles .subNav:not(.open) > li > a {
	pointer-events: none;
	cursor: default;
}

.navigationStyles .mainNav .subNav > li > a {
	display: block;
	transform: translate(-40px, 0px);
	opacity: 0;
	color: #757575;
}

.navigationStyles .mainNav .subNav a.subNavLink {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex: 1;
}

.navigationStyles .mainNav .subNav a.subNavLink.current {
	color: #a41f35;
}

.navigationStyles .mainNav .arrowWrap {
	width: 14px;
	height: 9px;
	transform: rotate(-90deg);
}

.navigationStyles .mainNav .arrowWrap svg .line {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
	stroke: #4e4742;
}

.navigationStyles .regularSubNav {
	position: relative;
	transition: height 0.4s, opacity 0.2s;
	height: 0px;
	opacity: 0;
	padding: 0;
	flex-basis: 100%;
	overflow: hidden;
}

.navigationStyles .regularSubNav {
	padding-left: 20px;
}

.navigationStyles .regularSubNav li:last-of-type {
	margin-bottom: 20px;
}

.navigationStyles .regularSubNav li > a.subNavLink {
	color: #959595;
	font-size: 1em;
	margin-bottom: 0;
}

.navigationStyles li .subNavToggle {
	position: relative;
	width: 20px;
	height: 20px;
	cursor: pointer;
	padding: 7px 16px 16px;
}

.navigationStyles li .subNavToggle:hover span {
	background-color: #a41f35;
}


.navigationStyles li .subNavToggle:focus-visible {
	outline: 2px solid #353535;
}

.navigationStyles li .subNavToggle span {
	display: block;
	width: 1px;
	height: 20px;
	background-color: #353535;
	opacity: 0;
	transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out, background-color 0.2s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.navigationStyles li .subNavToggle span.bar2 {
	transform: rotate(90deg);
}

.navigationStyles li .subNavToggle.toggleOpen span.bar1 {
	transform: rotate(90deg);
}

.navigationStyles li.animationDone > .subNavToggle span {
	opacity: 1;
}

.navigationStyles li.animationDone > .subNavToggle.toggleOpen span {
	opacity: 1;
	background-color: #a41f35;
}

.navigationStyles li:has(.subNavToggle.toggleOpen) > a {
	color: #a41f35;
}
/* Top Nav */
#MainNavWrap .topNavLink {
	display: flex;
	align-items: center;
}

#MainNavWrap .topNavLink svg {
	width: 11px;
	height: 6px;
}

#MainNavWrap .topNavLink svg .line {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
	stroke: #4e4742;
}

.navigationStyles .stateViewAll a {
	padding: 15px 0 0 0;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 16px !important;
	border-top: 1px solid #ccc;
}

.navigationStyles .dropdownCTA {
	margin: 65px 30px 0 0;
}

.navigationStyles .dropdownCTA a {
	padding-top:30px;
	border-top: 1px solid #ccc;
}

.navigationStyles .dropdownCTA img {
	width:100%;
}

@media (min-width: 1023px) {
	#MainNavWrap {
		display: block;
	}
}

@media (min-width: 1450px) {
	#MainNavWrap .mainNavItem {
		padding-right: 30px;
	}
}

/* ----------------------------------------------------
		End Main Nav
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Mobile Main Nav
------------------------------------------------------- */

.mobileMainMenu {
	display: block;
	width: 100%;
	height: calc(100vh - 90px);
	position: fixed;
	z-index: 3000;
	font-size: 16px;
	background-color: #fff;
	max-width: 420px;
	transition: right 0.4s ease-in-out;
	top: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	max-width: 100%;
	right: -100%;
}

.mobileMainMenu .dropdownCTA {
	display:none;
}

@media (min-width: 600px) {
	.mobileMainMenu {
		max-width: 420px;
		right: -420px;
	}
}

@media (min-width: 1023px) {
	.mobileMainMenu {
		display: none;
	}
}

.mobileMainMenu.open {
	right: 0px;
}

.mobileMainMenu ul {
	padding: 0;
	list-style-type: none;
}

.mobileMainMenu .mainNav ul.subNav > li > a {
	display: block;
	transform: translate(-40px, 0px);
	opacity: 0;
}

.mobileMainMenu .topNavLink {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	flex-wrap: wrap;
	transform: translate(-40px, 0px);
	opacity: 0;
}

.mobileMainMenu .topNavLink {
	font-size: 1.25em;
	margin-bottom: 20px;
	color: #353535;
	transition: color 0.2s ease-in-out;
}

.mobileMainMenu .topNavLink.current,
.mobileMainMenu .topNavLink:hover {
	color: #a41f35;
}

.mobileMainMenu .subNav {
	display: block;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-bottomleft: 5px;
	-moz-border-radius-bottomright: 5px;
	z-index: -1;
	padding: 25px 30px;
}

.mobileMainMenu .subNav.open {
	z-index: 1;
}

.mobileMainMenu ul li .mobileToggle {
	position: absolute;
	top: 0px;
	right: 0px;
	text-align: center;
	border-left: 1px solid #e9e9e9;
	padding: 10px 0;
	width: 55px;
	background: #f9f9f9;
}

.mobileMainMenu .mainNav a.topNavLink .arrowIcon {
	width: 14px;
	height: 9px;
	transform: rotate(-90deg);
}

.mobileMainMenu .mainNav a.topNavLink .arrowIcon svg .line {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
	stroke: #4e4742;
}

.mobileMainMenu .mainNav a.topNavLink img.black {
	opacity: 1;
	visibility: visible;
}

.mobileMainMenu .mainNav a.topNavLink img.red {
	opacity: 0;
	visibility: hidden;
}

.mobileMainMenu .mainNav a.topNavLink:hover img.black {
	opacity: 0;
	visibility: hidden;
}

.mobileMainMenu .mainNav a.topNavLink:hover img.red {
	opacity: 1;
	visibility: visible;
}

#MobileMenu li.topNavItem.firstItem a {
	padding-top: 20px;
	border-top: 1px solid #353535;
}

#MobileMenu li.topNavItem a {
	width: 100%;
	display: flex;
	font-size: 1.1em;
	margin-bottom: 10px;
	color: #353535;
	align-items: center;
	transition: color 0.2s ease-in-out;
}

.mobileMenuButton {
	width: 116px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	padding: 10px 10px;
	text-transform: uppercase;
	font-weight: 600;
}

.mobileMenuButton .text {
	color: #353535;
}

.mobileMenuButton .burg {
	width: 31px;
}

.mobileMenuButton .burg span {
	display: block;
	width: 22px;
	height: 2px;
	margin-bottom: 6px;
	background: #353535;
	opacity: 1;
	transition: all 0.2s linear;
}

.mobileMenuButton .burg span:nth-child(2) {
	width: 100%;
}

.mobileMenuButton .burg span:last-of-type {
	margin-bottom: 0;
}


.mobileMenuButtonOpen .burg span:nth-child(2) {
	opacity: 0;
}

.mobileMenuButtonOpen .burg span:nth-child(1) {
	transform: translate(-5px, 9px) rotate(45deg);
}

.mobileMenuButtonOpen .burg span:nth-child(3) {
	transform: translate(-5px, -7px) rotate(-45deg);
}

.homePage header.sticky .mobileMenuButton .burg span,
.homePage .mobileMenuButton.mobileMenuButtonOpen .burg span {
	background: #353535;
}

.homePage header.sticky .mobileMenuButton,
.homePage .mobileMenuButton.mobileMenuButtonOpen {
	border-color: #353535;
}

@media screen and (min-width: 1023px) {
	.mobileMenuButton {
		display: none;
	}
}

/* ----------------------------------------------------
		End  Mobile Main Nav
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Footer
------------------------------------------------------- */

footer {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 18px;
	line-height: 1.4em;
	color: #FFF;
}

footer input:focus-within {
	border:2px solid #FFF !important;
}

footer .content {
	margin-bottom: 35px;
	background-color: #4e4742;
}

footer .sitewidth {
	padding-top: 55px;
	padding-bottom: 30px;
	background: url(/images/RR_Background_Footer_Logo.png) center right no-repeat;
}

footer .sectionHeaderText {
	font-weight: 700;
	text-transform: uppercase;
}

footer .colContent a {
	color: #FFF;
}

footer .rteCopy a {
	text-decoration: underline;
}

footer .logo {
	display: flex;
	justify-content: center;
}

footer .logo,
footer .colContent,
footer .col1,
footer .col2 {
	margin-bottom: 30px;
}

footer .col3,
footer .linkContent {
	font-size: 16px;
}

footer .linkContent,
footer .linkContent a {
	color: #BBB6AF;
}

footer .col2 .sectionHeaderText {
	margin-bottom: 18px;
}

footer .col3 {
	display: flex;
	flex-direction: column;
	text-align: center;
}

footer .linkContent .left {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
	text-align: center;
}

footer .linkContent .sep {
	display: none;
}

footer .linkContent .right {
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .linkContent .right > * {
	padding: 0 10px;
}

@media screen and (min-width:700px) {
	footer .col2-3 {
		display: flex;
		justify-content: space-between;
	}

	footer .col2-3 > * {
		flex: 0 1 48%;
	}

	footer .col2 {
		flex: 0 1 70%;
		padding-right: 14%;
		margin-bottom: 0;
	}

	footer .col3 {
		flex: 0 1 30%;
	}
}

@media screen and (min-width:1024px) {

	footer .col1 {
		display: flex;
		align-items: center;
	}

	footer .col1 .logo {
		flex: 0 1 105px;
		margin-bottom: 0;
		padding-right: 20px;
	}

	footer .col1 .rteCopy {
		flex: 1;
	}

	footer .linkContent {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	footer .linkContent .sep {
		display: block;
	}

	footer .linkContent .left {
		flex-direction: row;
		margin-bottom: 0;
	}

	footer .linkContent .left li {
		padding: 0 5px;
	}

	footer .linkContent .left li:first-child {
		padding-left: 0;
	}
}

@media screen and (min-width:1200px) {
	footer .colContent {
		display: flex;
		justify-content: space-between;
	}

	footer .col1 {
		flex: 0 1 48%;
		padding-right: 3%;
	}

	footer .col2-3 {
		flex: 0 1 48%;
		display: flex;
		flex-direction: column;
	}

	footer .col2 {
		margin-bottom: 30px;
	}

	footer .col3 {
		text-align: left;
	}
}

@media screen and (min-width:1620px) {
	footer .colContent {
		display: flex;
		justify-content: space-between;
	}

	footer .col1 {
		flex: 1;
		padding-right: 8%;
	}

	footer .col2-3 {
		flex: 0 1 875px;
		flex-direction: row;
	}

	footer .col2 {
		padding-top: 25px;
	}

	footer .col3 {
		text-align: left;
	}
}

/* ----------------------------------------------------
		End Footer
------------------------------------------------------- */
