@charset "UTF-8";

/* ROOT VARS */
:root
{
	--max_width_content:1500px;
	--site_border:14px solid #FFFFFF;
	--font_body:'mavenpro',sans-serif;
}

/* HTML */
html { height:100%; font-size:18px; }

/* BODY */
body
{
	width:100%;
	height:100%;
	background:#191919;
	font-family:var(--font_body);
	font-weight:400;
	font-size:1rem;
	color:#444444;
	line-height:1.5em;
	letter-spacing:-0.01em;
	-moz-text-size-adjust:100%; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; -o-text-size-adjust:100%; text-size-adjust:100%;
}
.body_overflow { overflow:hidden; }

/* FONTS */
@font-face { font-family:'mavenpro'; src:url('/fonts/MavenPro_VariableFont.ttf'); font-style:normal; font-weight:1 1000; }

/* TITLES */
.title { display:block; font-weight:650; margin-bottom:5px; }
.title_check
{
	position:relative;
	font-size:1.25rem;
	font-weight:600;
	line-height:1.2em;
	display:inline-block;
	letter-spacing:-0.03em;
	padding:10px 18px 12px 45px;
	border-radius:25px;
	border:2px solid #CF3339;
	margin-bottom:25px;
}
.title_check_icon { position:absolute; left:15px; top:50%; transform:translateY(-50%); height:23px; width:23px; background:transparent url('/graphics/title_icon_check.png') 0 0 / 23px no-repeat; }
.title_check_grey { background:#E5E5E5; color:#444444; }
.title_check_no_margin { margin:0; }

/* FONT SIZES */
.sml { font-size:1.2rem; line-height:1.2em; letter-spacing:-0.03em; }
.med { font-size:1.5rem; line-height:1.2em; letter-spacing:-0.03em; }
.big { font-size:1.8rem; line-height:1.2em; letter-spacing:-0.03em; }

/* COLORS */
.black { color:#000000; }
.dk_grey { color:#292929; }
.red { color:#CF3339; }
.white { color:#FFFFFF; }
.lt_grey { color:#A5A5A5; }

/* UNIVERSAL STYLES */
* { margin:0; padding:0; box-sizing:border-box; -webkit-appearance:none; -moz-appearance:none; -ms-appearance:none; -o-appearance:none; appearance:none; outline:0; border:0; }

/* MISC */
img { line-height:0; }
strong, .bold { font-weight:600; }
a:link { color:#CF3339; } a:visited { color:#CF3339; } a:hover { color:#444444; } a:active { color:#CF3339; }
h1, h2, h3 { font-weight:inherit; font-size:inherit; display:inline-block; }
hr { border-top:1px solid #474440; height:1px; }

/* FORM */
#form_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; gap:20px; max-width:clamp(600px, 80%, 800px); margin:10px auto 0 auto; text-align:left; }
.form_wrapper_full { max-width:100% !important; margin:10px 0 0 0 !important; }
.form { flex:1 1 calc(50% - 10px); }
.form_full_span { flex:1 1 100%; }

/* SELECT */
select
{
	display:inline-block;
	width:100%;
	padding:10px 50px 10px 10px;
	background:rgba(255,255,255,.75) url("/graphics/select_arrow.png") right center no-repeat;
	border:1px solid rgba(0,0,0,.2);
	font-family:var(--font_body);
	font-size:1rem;
	color:#444444;
	border-radius:0;
	outline:none;
	border-radius:5px;
}
select { cursor:pointer; }
select option { font-family:var(--font_body); }
select::-ms-expand { display:none; } /* IE/Edge */
select:disabled::-ms-expand { background:rgba(255,255,255,.75); } /* IE/Edge */

/* DEFAULT LISTS */
.list { padding:0; margin:0 0 0 15px; }
.list li { margin:0; line-height:1.75em; list-style:square; font-size:.9rem; }
.list li::marker { color:#CF3339; }

/* BUTTONS */
.button
{
	position:relative;
	font-family:var(--font_body);
	font-weight:600;
	line-height:1.2em;
	display:inline-block;
	letter-spacing:-0.02em;
	margin-left:10px;
	padding:10px 18px 10px 45px;
	text-decoration:none;
	text-align:center;
	font-size:1rem;
	border-radius:25px;
}
.button:hover { cursor:pointer; }
.button:nth-of-type(1) { margin-left:0; }

/* BUTTON COLORS */
.button_red { background:#D1D1D1; border:2px solid #CF3339; color:#444444 !important; }
.button_red:hover { border-color:#191919; background:#ABABAB; color:#FFFFFF !important; }
.button_red:active { color:#444444 !important; }
.button_white { background:none; border:2px solid #FFFFFF; color:#FFFFFF !important; }
.button_white:hover { border-color:#CF3339; }
.button_white:active { color:#444444 !important; }

/* BUTTON ICONS */
.button_icon
{
	position:absolute; left:15px; top:50%;
	transform:translateY(-50%);
	height:23px; width:23px;
	background-color:transparent; background-position:0 0; background-size:23px; background-repeat:no-repeat;
}
.button:hover .button_icon { background-position:0 -23px; }
.button_icon_def { background-image:url('/graphics/button_icon_default_red.png'); }
.button_icon_phone { background-image:url('/graphics/button_icon_phone_red.png'); }

/* SPECIAL BUTTONS */
.button_single { margin:25px 0 0 0 !important; }
.button_form { background:#FFFFFF url('/graphics/button_icon_form.png') top 50% left 17px/18px auto no-repeat; }
.button_form:hover { color:#FFFFFF; background:#ABABAB url('/graphics/button_icon_form_alt.png') top 50% left 17px/18px auto no-repeat; }
.button_terms { display:inline-block; padding:3px 15px; border-radius:10px; background:rgba(255,255,255,.1); margin-bottom:10px; border:1px solid rgba(255,255,255,.2); text-decoration:none; }

/* NAV UNIVERSAL */
#nav ul li a { color:#AAAAAA; text-decoration:none; line-height:1em; display:block; text-align:left; }
#nav ul li a:hover { color:#FFFFFF; }
#nav ul li a:active { color:#AAAAAA; }
#nav ul { list-style:none; }

/* NAV */
#nav_wrapper { position:relative; padding:50px; z-index:10; background:#191919; }
#nav
{
	padding-left:clamp(190px, 21vw, 300px);
	position:relative;
	height:100%;
	line-height:1em;
	visibility:visible;
	transform:translateX(0);
	transition:transform .2s linear;
}
#nav > ul { position:relative; display:inline-block; }
#nav > ul > li { position:relative; display:inline-block; }
#nav > ul > li:last-child a { margin-right:0; }
#nav > ul > li:hover { cursor:pointer; }
#nav > ul > li:hover > .sub_nav { display:block; }
#nav > ul > li:hover .nav_arrow { animation:150ms arrowOut forwards; }
#nav > ul > li > a { margin:0 15px; }
#nav_logo { position:absolute; left:50px; top:7%; }
#nav_logo img { width:clamp(125px, 20vw, 275px); background:#191919; padding:10px 25px 15px 25px; border-radius:10px; }
#nav_buttons { position:absolute; right:50px; top:50%; transform:translateY(-50%); z-index:1; }

/* SUB NAV */
.sub_nav
{
	position:absolute;
	display:none;
	padding:20px 25px 25px 25px;
	background:#191919;
	top:100%;
	left:5px;
	border-radius:0 0 5px 5px;
}
.sub_nav > li:first-child a { margin-top:0; }
.sub_nav > li:last-child a { margin-bottom:0; }
.sub_nav > li { display:block; }
.sub_nav > li > a { margin:15px 0; white-space:nowrap; font-size:.85rem; }

/* NAV ARROW */
.nav_arrow { width:13px; height:auto; margin-right:5px; animation:150ms arrowIn forwards; }
@keyframes arrowIn { 0% { transform:rotate(180deg); } 100% { transform:rotate(0deg) translateY(-3px); } }
@keyframes arrowOut { 0% { transform:rotate(0deg); } 100% { transform:rotate(180deg) translateY(3px); } }

/* MOBILE NAV ICON */
#nav_icon
{
	display:none;
	width:75px;
	height:auto;
	line-height:0;
	opacity:0;
	margin-bottom:10px;
	transform:scaleX(-1);
	animation-delay:.25s;
}
.nav_icon_out { animation:.25s nav_icon_anim forwards; display:block !important; }
@keyframes nav_icon_anim { 0% { transform:scaleX(-1); width:75px; opacity:0; } 100% { transform:scaleX(1); width:125px; opacity:1; } }

/* MOBILE BUTTONS */
.nav_mobile_out { visibility:visible !important; transform:translateY(0) !important; display:block !important; }
#nav_mobile_button, #nav_mobile_button_close { display:none; position:absolute; width:30px; height:auto; right:30px; cursor:pointer; }
#nav_mobile_button { top:50%; transform:translateY(-50%); }
#nav_mobile_button_close { top:30px; }
.nav_mobile_only { display:none !important; }

/* HEADERS */
#header_wrapper { position:relative; background:#191919; height:40vw; min-height:400px; overflow:hidden; }
#header_grid { position:absolute; z-index:1; top:0; left:0; width:100%; height:100%; display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr; }
.header_grid_sq { background:#FFFFFF; scale:0; opacity:0; animation:grid_anim 1s ease-out forwards 0s; border:1px solid #000000; }
@keyframes grid_anim { 0% { opacity:0; scale:0; } 20% { opacity:.3; scale:1; } 100% { opacity:0; scale:1; } }
#header_bg
{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:0;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	opacity:0;
	animation:header_bg_anim 1.5s ease-out forwards .15s;
}
@keyframes header_bg_anim { 0% { opacity:0; } 100% { opacity:1; } }
#header
{
	display:inline-block;
	position:absolute;
	width:calc(40vw + 200px);
	max-width:80%;
	z-index:1;
	left:50%;
	bottom:0;
	background:#CF3339F1;
	padding:1.5rem;
	border-radius:25px 25px 0 0;
	border:.5vw solid #FFFFFF;
	border-bottom:none;
	opacity:0;
	transform:translateX(-50%) scale(0);
	transform-origin:bottom center;
	text-align:center;
	animation:header_anim .25s ease-out forwards .3s;
	box-shadow:inset 0px 15px 2px -10px rgba(0,0,0,.3);
}
#header_icon
{
	display:inline-block;
	width:calc(2.5vw + 15px);
	min-width:35px;
	height:auto;
	margin-bottom:5px;
	opacity:0;
	transform:scale(0);
	transform-origin:bottom center;
	animation:header_icon_anim .25s ease-out forwards .7s;
}
#header_title { font-weight:550; font-size:clamp(1.5rem, 2.3vw, 1.9rem); line-height:1.15em; letter-spacing:-0.02em; color:#FFFFFF; opacity:0; animation:header_title_anim .25s ease-out forwards .5s; }
#header_desc { max-width:calc(80% + 25px); color:rgba(255,255,255,0.7); margin:5px auto 0 auto; font-size:1rem; line-height:1.5em; }
@keyframes header_anim { 0% { opacity:0; transform:translateX(-50%) scale(0); } 100% { opacity:1; transform:translateX(-50%) scale(1); } }
@keyframes header_title_anim { 0% { opacity:0; } 100% { opacity:1; } }
@keyframes header_icon_anim { 0% { opacity:0; transform:scale(0); } 100% { opacity:1; transform:scale(1); } }

/* GRID 4SQ */
#grid_4sq_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; }
.grid_4sq { flex:0 0 25%; border-right:1px solid rgba(0,0,0,0.2); text-decoration:none; padding:50px 0; transition:background-color .2s ease-out; }
.grid_4sq:hover { background-color:#FFFFFF; }
.grid_4sq:hover .grid_4sq_img { border-width:0; }
.grid_4sq:hover .title { color:#CF3339; }
.grid_4sq:last-child { border:none; }
.grid_4sq_inner_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; }
.grid_4sq_inner { flex:1 1 100%; }
.grid_4sq_img
{
	width:100%;
	height:8rem;
	border-left:50px solid #E9E9E9;
	border-right:50px solid #E9E9E9;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	transition:border .2s ease-out;
}
.grid_4sq_content { padding:0 50px 25px 50px; color:#444444; }
.grid_4sq_desc { display:inline-block; margin-top:5px; font-size:clamp(16px, .9rem,18px); line-height:1.5rem; }
.grid_4sq_icon { display:inline-block; margin-bottom:.5rem; width:clamp(30px,25%,50px); padding:.2rem; border-radius:5px; background:#FFFFFF; border:1px solid rgba(0,0,0,0.3); }

/* GRID 3SQ */
.grid_3sq_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; gap:30px; }
.grid_3sq
{
	position:relative;
	flex:0 0 calc(33.333% - 20px);
	text-decoration:none;
	background:#FFFFFF;
	border-radius:8px;
	border:1px solid rgba(0,0,0,0.2);
	overflow:hidden;
	display:flex;
	flex-wrap:wrap;
}
.grid_3sq_img { width:100%; height:8rem; background-size:cover; background-repeat:no-repeat; background-position:center center; align-self:flex-end; }
.grid_3sq_content { padding:calc(5% + 15px); width:100%; }
.grid_3sq_desc { display:inline-block; margin-top:5px; font-size:clamp(16px, .9rem,18px); line-height:1.5rem; }
.grid_3sq_icon { display:inline-block; margin-bottom:.5rem; width:clamp(30px,20%,50px); padding:.2rem; border-radius:5px; background:#FFFFFF; border:1px solid rgba(0,0,0,0.3); }
.grid_3sq_overlay
{
	position:absolute;
	z-index:100;
	height:100%;
	width:100%;
	padding:calc(5% + 15px);
	background:#444444;
	opacity:0;
	color:rgba(255,255,255,0.7);
	font-size:.9rem;
	line-height:1.5rem;
	overflow-y:scroll;
	transition:opacity .2s ease-out;
}
.grid_3sq:hover .grid_3sq_overlay { opacity:1; }
.grid_3sq .list li { color:#444444; }
.grid_3sq_overlay .title { color:#FFFFFF; margin-bottom:10px; }
.grid_3sq_link:hover { border:1px solid #444444; }
.grid_3sq_link .grid_3sq_content { color:#444444; }

/* CONTENT */
.content_wrapper { border-top:var(--site_border); }
.content_bg_home_center { background:#FFFFFF url('/graphics/home_center_bg.jpg') center right / cover no-repeat; }
.content { max-width:var(--max_width_content); margin:0 auto; padding:60px 50px; line-height:1.75rem; letter-spacing:-0.04em; }
.content_tight_leading { line-height:1.25rem; }
.content_bg_white { background:#FFFFFF; }
.content_bg_lt_grey { background:#E9E9E9; }
.content_bg_dk_grey { background:#333333; }
.content_bg_grad { background:linear-gradient(to top, #DEDEDE 15%,#FFFFFF 85%); color:#444444; }
.content_center { text-align:center !important; }

/* GRID 5050 */
.grid_5050_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; }
.grid_5050:first-child { width:calc(30% + 75px); border-right:1px solid rgba(0,0,0,0.1); padding-right:calc(5% + 10px); }
.grid_5050:last-child { flex:1; padding-left:calc(5% + 10px); }

/* FOOTER */
#footer_wrapper { width:100%; padding:75px 50px; border-top:var(--site_border); }
#footer_logo { display:inline-block; width:clamp(150px, 100%, 200px); height:auto; line-height:0; }
#footer { display:flex; flex-direction:row; flex-wrap:wrap; margin:0 auto; width:100%; max-width:var(--max_width_content); text-align:center; }
.footer_col  { flex:1 1 33.333%; padding:0 3rem; font-size:.8rem; color:#ACACAC; border-right:solid 1px rgba(255,255,255,0.2); }
.footer_col:last-child { padding-right:0; border:0; }
.footer_col:first-child { padding-left:0; }
#footer_phone_button { margin-top:20px; }
#footer a { color:#FFFFFF70; }
#footer a:hover { color:#FFFFFF; }
#footer a:active { color:#FFFFFF70; }
#footer_social { display:block; margin:0 -7px 15px -7px; line-height:0; }
.footer_social { display:inline-block; margin:7px; line-height:0; text-decoration:none; }
.footer_social img { width:45px; height:auto; border-radius:100%; border:2px solid #FFFFFF; }
.footer_social:hover img { border-color:#CF3339; }
.footer_social:active img { background:rgba(255,255,255,.1); }

/* TEXT FIELDS */
.text_field
{
	padding:10px;
	margin:10px 0;
	font-family:var(--font_body);
	font-size:1rem;
	background:rgba(255,255,255,.75);
	color:#444444;
	border:1px solid rgba(0,0,0,.2);
	width:100%;
	border-radius:5px;
}
.text_field_no_margin { margin:0; }
.text_area { font-family:var(--font_body); height:150px; }
::placeholder { color:#777777; opacity:1; }
.formhp { display:none !important; }

/* RETURN MSG */
#return_msg { padding:50px; background:#CF3339; color:#FFFFFF; font-size:1rem; margin-bottom:40px; text-align:center; }
#return_msg_title { display:inline-block; font-size:1.5rem; margin-bottom:10px; color:#FFFFFF; font-weight:600; line-height:1em; }

/* ANIMATED ELEMENTS BASED ON JS INTERSECTION OBSERVER */
.anim_element { opacity:0; transition:opacity .3s ease-in-out, transform .25s ease-in-out; transform:translateX(-25px); }
.anim_element.show { opacity:1; transform:translateX(0); }

/* VIDEOS */
.video { width:100%; position:relative; overflow:hidden; padding-top:56.25%; line-height:0; margin-top:10px; }
.video iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

/* HOME SURCHARGES */
#home_surcharge_grid_wrapper { display:flex; flex-direction:row; flex-wrap:wrap; gap:20px; margin-top:20px; color:#FFFFFF; }
.home_surcharge_grid
{
	flex:1 1 calc(25% - 20px);
	padding:clamp(20px, 2%, 40px);
	min-width:250px;
	background:#00000050;
	border:1px solid rgba(0,0,0,0.50);
	border-radius:5px;
	display:flex; flex-direction:row; flex-wrap:nowrap;
	align-items:center;
	justify-content:center;
}

/* SURCHARGE MC */
#surcharge_mc_wrapper { font-size:1rem; text-align:center; padding:30px; }
#surcharge_mc { display:inline-block; width:100%; max-width:700px; text-align:center; padding:30px; background:#333333; border-radius:10px; }
#surcharge_mc_logo { width:100%; max-width:200px; margin:0 auto 20px auto; }
#surcharge_mc_logo img { width:100%; height:auto; }
.surcharge_mc_rate, #surcharge_mc_date { text-align:center; background:#FFFFFF; margin:5px 0 20px 0 !important; }
#surcharge_mc_button { width:100%; margin:20px 0 0 0; }
.surcharge_mc_return_msg { border-radius:5px; padding:35px !important; margin-bottom:25px !important; }

/* ---------------------------------------------------- */
/* CSS MEDIA BREAKS ----------------------------------- */
/* ---------------------------------------------------- */
@media (min-width:1051px)
{
	/* BODY */
	body { overflow:visible !important; }

	/* NAV */
	#nav_wrapper { top:0 !important; }
	#nav_mobile_button, #nav_mobile_button_close { display:none; }
	#nav_icon { display:none !important; }
}

@media (max-width:1200px)
{
	/* HTML */
	html { font-size:16px; }

	/* NAV */
	#nav > ul > li > a { margin:0 10px; }
	.sub_nav > li > a { font-size:1rem; }

	/* DEFAULT LISTS */
	.list li { font-size:.95rem; line-height:1.5em; }

	/* GRID 4SQ */
	.grid_4sq { flex:0 0 50%; }
	.grid_4sq:nth-child(even) { border:none; }
	.grid_4sq:nth-child(-n+2) { border-bottom:1px solid rgba(0,0,0,0.2); }
	.grid_4sq_content .title br { display:none; }
}

@media (max-width:1050px)
{
	/* PADDING DROPS TO 30PX */

	/* ROOT VARS */
	:root { --site_border:10px solid #FFFFFF; }

	/* BODY */
	body { height:auto; }

	/* NAV */
	#nav_wrapper { position:sticky; top:0; transition:top .2s ease-in-out; text-align:left; padding:10px 30px 5px 30px; }
	#nav { z-index:10; position:fixed; width:100%; padding:15px 30px 30px 30px; visibility:hidden; top:0; left:0; overflow-y:scroll; transform:translateX(-100%); text-align:left; background:#191919; }
	#nav_logo { position:relative; top:auto; left:auto; }	
	#nav_logo img { padding:0; }
	#nav_buttons { right:80px; }
	#nav_mobile_button { display:inline-block; }
	#nav ul li { display:block; }
	#nav ul li a { font-size:1rem; margin:13px 0; white-space:normal; }
	#nav > ul > li > a { font-weight:600; color:#FFFFFF; text-transform:uppercase; }
	.nav_arrow { display:none; }
	.sub_nav { display:block; position:relative; top:auto; left:auto; background:none; padding:0; }
	.sub_nav a::before { content:"- "; }
	#nav_mobile_button_close { display:inline; }
	.nav_mobile_only { display:block !important; }

	/* CONTENT */
	.content { padding:50px 30px; line-height:1.5em; }

	/* RETURN MSG */
	#return_msg { padding:50px 30px; }

	/* FOOTER */
	#footer_wrapper { padding:50px 30px; }
	.footer_col { flex:1 1 50%; padding:0 30px; }
	.footer_col:first-child { flex:1 1 100%; padding:0 0 20px 0; border:none; }
	#footer_social { margin:0 -7px 10px -7px; }
	.footer_social img { width:40px; }
}

@media (max-width:900px)
{
	/* GRID 3SQ */
	.grid_3sq { flex:0 0 calc(50% - 15px); }
}

@media (max-width:800px)
{
	/* GRID 4SQ */
	.grid_4sq { flex:0 0 100%; border-right:none; border-bottom:1px solid rgba(0,0,0,0.2); transition:none; padding:35px 0; }
	.grid_4sq:first-child { padding-top:0; }
	.grid_4sq:last-child { padding-bottom:0; }
	.grid_4sq:hover { background-color:transparent; }
	.grid_4sq_img { border:0; transition:none; }
	.grid_4sq_content { padding:0 0 25px 0; }
}

@media (max-width:750px)
{
	/* GRID 5050 */
	.grid_5050 { flex:1 1 100%; }
	.grid_5050:first-child { border:none; padding:0; }
	.grid_5050:last-child { padding:0; margin-top:50px; }
}

@media (max-width:650px)
{
	/* FONT SIZES */
	.sml { font-size:1.1rem; }
	.med { font-size:1.35rem; }
	.big { font-size:1.6rem; }

	/* NAV */
	#nav_wrapper { text-align:left; }
	#nav_buttons { display:none; }

	/* CONTENT */
	.content { padding:30px; }

	/* RETURN MSG */
	#return_msg { padding:30px; }

	/* BUTTONS */
	.button { width:100%; margin:15px 0 0 0; padding:10px 20px; }
	.button:nth-of-type(1) { margin-top:0; }

	/* FOOTER */
	#footer_wrapper { padding:50px 30px; }
	.footer_col { flex:1 1 100%; border:none; padding:0; }
	.footer_col:last-child { padding-top:25px; margin-top:30px; border-top:solid 1px rgba(255,255,255,0.2); }
	.footer_social img { width:35px; }

	/* GRID 3SQ */
	.grid_3sq { flex:0 0 100%; }
	.grid_3sq_content { padding:calc(5% + 5px); }
}

@media (max-width:500px)
{
	/* DEFAULT LISTS */
	.list li { font-size:1rem; }

	/* HEADERS */
	#header_title br { display:none; }

	/* FORM */
	#form_wrapper, .form_wrapper_full { max-width:100%; margin:-10px 0 0 0 !important; }
	.form { flex:1 1 100%; }
}