﻿@charset "UTF-8";

* {margin:0; padding: 0; border: 0; outline: 0; background: transparent;}
	
:root {
	--white:#fff;	
	--nearwhite: #f6f6f6;
	--offwhite:#f8f9fc;	

	--a1red:#db2434;
	--drkred:#9c0916;
	
	--a1blue:#2a3584;
	--drkblue:#212b77;

	--lightgray: #e8e8e8;
	--gray:#dbdbdb;
	
	--offblack: #262626;
	--nearblack: #050708;	
	--black: #000;
}


/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
html {scroll-behavior: smooth;}
body {font-size:100%; color:var(--nearblack); background:var(--white); font-family: "roboto", sans-serif !important;}

/* SELECTION */	
::selection {color:#fff; background:var(--a1red);}
::-moz-selection {color:#fff; background: #f30601;}


/* CLEAR */
.clear {clear: both;}

/* HEADERS */
/*Remove or simplify font-weight and font-height */
h1, h2, h3, h4 ,h5 ,h6 {font-family: "roboto-slab", sans-serif; line-height: normal;}
h1 {font-size:26px; font-weight:normal;}
h2 {font-size:24px; font-weight:normal;}
h3 {font-size:20px; font-weight:normal;}
h4 {font-size:18px; font-weight:normal;}
h5 {font-size:16px; font-weight:normal;}
h6 {font-size:14px; font-weight:normal;}


/* PARAGRAPH/LIST/GENERAL TEXT */

/* LINKS */
a{transition:.5s ease-in;}
a:link, a:visited {color:inherit; text-decoration:none;}
a:hover, a:active {color:inherit; text-decoration:none;}

a[href^="tel:"] {color:inherit;  text-decoration: none;}

/* IMAGES */
img {display:block;}

/* TEXT EMPHASIS */
em {font-style:italic;}
strong {font-weight: 700;}

/* ALIGNMENT */
.left {float:left;}
.right {float:right;}
.center {text-align:center;}


/*
font-family: "roboto", sans-serif;
300,300i,400,400i,700,900

font-family: "roboto-slab", serif;
300,400,700
*/


/*  BUTTONS
------------------------------------------------*/	
a.solid-button {position:relative; display:inline-block; margin:5px; padding:18px 50px; line-height:1; font-weight:800; text-decoration: none; color:var(--white); border:1px var(--a1red) solid; border-radius:25px; background:var(--a1red); transition:.5s ease;}
a.solid-button:hover {color:var(--nearwhite); background:var(--offblack);}


/*  HEAD TOP
------------------------------------------------*/	
.head-top {
	display:flex; flex-flow:row wrap; align-items:center; justify-content:center; gap:2.5% 30px; box-sizing: border-box;
	padding:12px 20px; color:var(--white); border-bottom:1px var(--a1red) solid; background:var(--a1blue);
}

.head-title::before {content: ""; position: absolute; box-sizing: content-box; z-index:2; top:50%; left:0; width:8px; height:8px; border:1px var(--white) solid; transform: translateY(-50%); border-radius:50%; background:var(--a1red);}
.head-title {position:relative; padding-left:15px; font-size:13px; line-height:1.2; font-weight:400; text-transform: uppercase;}
.head-subtitle {margin-top:2px; font-size:15px; line-height:1.2; font-weight:900; color:var(--white);}

.head-top a.solid-button {padding:12px 15px; font-size:14px; }
.head-top a.solid-button::after {content: "\f105"; position: relative; z-index:2; top:42%; padding-left:15px; font-size:15px; color:var(--white); font-family: FontAwesome; transform: translateY(-50%);}


/* HEADER
------------------------------------------------*/	
.global-header {display:flex; flex-flow:row wrap; align-items:center; justify-content: space-between; gap:40px; padding:20px 5%;}	
	

/* LOGO
------------------------------------------------*/	
.head-logo {margin:-32px 0 0 -5px;}	
.head-logo a {display:inline-block;}
.head-logo img {max-width:100%;}


/*  NAVIGATION
------------------------------------------------*/
#menu-button{display:none;}
nav.mobile {display:none;}

nav.primary {z-index:500; position:relative; margin:0 auto 0 0; padding:0;}
nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; gap:30px; margin:0; padding:0;}
nav.primary ul li {position:relative; margin:0; padding:0; list-style-type:none;}		
nav.primary ul li a {display:block; margin:0 ; padding:10px; font-size:20px; line-height:1; text-align:center; text-decoration:none; color:var(--black); cursor:pointer; transition:.5s ease-in;}
nav.primary ul li a:hover {color:var(--a1red);}
nav.primary ul li.drop-icon::before {content: "\f107"; position:absolute; z-index:5; bottom:-5px; left:50%; margin:auto; font-size:11px; color:var(--offblack); font-family: FontAwesome; transform: translateX(-50%);transition: transform 0.8s ease;}
nav.primary ul li:hover.drop-icon::before {content: "\f0dd"; position:absolute; /*top:4px; right:-6px;*/ font-size:11px; color:var(--nearblack); font-family: FontAwesome;}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width:max-content;}
nav.primary ul li li a {position:relative; margin:0; padding:12px 15px; font-size:18px; line-height:1.5; font-weight:500; text-align:left; text-transform: none; color:var(--offwhite); border:0; transition: .25s ease-in-out;}
nav.primary ul li li a::after {content:''; position:absolute; z-index:5; top:50%; left:10px; width:2px; height: 8px; margin:auto; background:transparent; transform: translateY(-50%); transition:.25s ease-in;}
nav.primary ul li li a:hover {padding-left:20px; padding-right:0; color:var(--white); background: transparent;}
nav.primary ul li li a:hover::after {content:''; position:absolute; z-index:5; top:50%; left:5px; width:2px; height: 8px; margin:auto; background:var(--a1red); transform: translateY(-50%);}

/*  NAV DROPDOWNS
------------------------------------------------*/
nav.primary ul ul {display: none; position: absolute; box-sizing:border-box; min-width:235px; padding:12px 15px; border-bottom-right-radius:20px; border-bottom-left-radius: 30px; background:var(--offblack); box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); }
nav.primary ul ul ul {position: absolute; left: 100%; top:0;}
nav.primary ul li:hover>ul {display: block; z-index: 100; animation: swing-in-top-fwd 0.5s cubic-bezier(0.175, 0.885, 0.320, 1.275) both;}



/*  QUICK SEARCH
------------------------------------------------*/
.quick-search-form {box-sizing:border-box; width: auto; padding:3px; border:1px var(--a1blue) solid; border-radius:30px;}
.quick-search-form form.search-form {overflow:hidden; display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between; width:auto; margin:0 auto;border-radius:30px;background:#f8f8f8 !important;}

.search-form input[type="text"] {
    box-sizing: border-box !important; width: calc(100% - 41px) !important; height: auto!important; margin: 0; padding: 8px 15px !important; font-size: 16px !important; line-height: 1 !important; font-weight: 400; font-style:italic; color: #323a40 !important; border-radius:30px; border: 0 !important; background:transparent !important; font-family: "roboto", sans-serif !important;
}
.quick-search-form button[type="submit"] {
	display:inline-block; position: relative; z-index: 1; box-sizing:border-box; width:39px; height:39px; margin:0; padding:0; font-size:18px; line-height:35px;
	color: var(--white) !important; border: none; border-radius:50%; background: var(--a1blue) !important; cursor: pointer;
}
.quick-search-form button[type="submit"]:hover {background: var(--drkblue) !important;}

.dropdown-search-icon {display:none;}
input.search-icon-trigger {display: none;}
.search-slider {
	position: relative; z-index: 5; overflow: hidden; width: 100%; height: 0; margin: 0 auto; padding:0; background: var(--black); background: linear-gradient(180deg, rgba(40, 40, 40, 1) 0%, rgba(51, 51, 51, 1) 100%); transition: 0.3s ease;
}
.search-slider input[type="submit"]:hover {background: #323746;}
input.search-icon-trigger:checked + .search-slider {height: auto; margin: 0 auto; padding: 20px 0;}


/*  HEADER PHONE
------------------------------------------------*/	
.head-phone {font-size:22px; font-weight:900;  color:var(--a1blue);}


/*  HERO
------------------------------------------------*/	
.hero {position: relative; overflow:hidden; width:100%; height:260px; background:var(--black);}

.hero-overlay {
	box-sizing:content-box; display:flex; flex-flow:column; align-items:flex-start; position:absolute; top:50%; left:0; right:0; z-index:5; transform:translateY(-50%);
	width:1450px; margin:auto; padding: 0 2.5%; line-height:1.1; text-transform:uppercase; color:var(--white); font-family: "roboto-slab", serif;
}
.hero-overlay .overlay-title {font-size:58px; font-weight:700;}
.hero-overlay .overlay-subtitle {font-size:33px; font-weight:300;}

.hero figure::before {content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(25,25,25,.64); background-blend-mode:hard-light;}
.hero figure {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:260px;}
.hero figure img {width:100%; height:100%; object-fit: cover;}


/*  MAIN
------------------------------------------------*/	
.global-main {padding:calc(30px + 2%) 2.5% calc(30px + 3.5%) 2.5%;}

.global-main article {box-sizing:content-box; max-width:1100px; margin:0 auto; padding:0 5%;}
.global-main article h1{margin-bottom:10px; font-size:40px; line-height:1; font-weight:800; text-transform: uppercase;}
.global-main article h2{margin-top:10px; margin-bottom:30px; font-size:30px; line-height:1; font-weight:400; font-style: italic; color:var(--a1blue);}
.global-main article h2 span{font-weight:700; color:var(--a1red); }
.global-main article p {margin-bottom:20px; font-size:22px; line-height:30px; font-weight:300;}
.global-main article p a {font-weight:500;}
.global-main article ul,
.global-main article ol {margin-bottom: 20px; margin-left:15px; font-size: 20px; line-height:33px; font-weight:300; list-style:inside;}


/*  LOCATIONS SECTION
------------------------------------------------*/
.locations-section {box-sizing:content-box;  padding:calc(30px + 3.5%) 5%; background:var(--offwhite); }
.locations-section > .locations-inner {max-width:1450px; margin:0 auto; display:flex; flex-flow:row wrap; justify-content:space-between; gap:5%;}

.locations-section > .locations-inner > .locations-body {flex:1; max-width:945px;}
.locations-section > .locations-inner > .locations-body h2 {margin-bottom:20px; font-size:28px; line-height:1.1; font-weight:700;}
.locations-section > .locations-inner > .locations-body p {font-size:20px; line-height:30px; font-weight:300;}
.locations-section > .locations-inner > .locations-body p a {font-weight:500;}

.locations-section > .locations-inner > .locations-links {width:100%; max-width:315px;}
.locations-section > .locations-inner > .locations-links ul {list-style:none;}
.locations-section > .locations-inner > .locations-links ul li {position:relative; border-bottom:1px #d8d5d2 solid;}
.locations-section > .locations-inner > .locations-links ul li:last-of-type {border:0;}

.locations-section > .locations-inner > .locations-links a {display:block; position:relative; margin-right:15px; padding:14px 0; font-size:16px; font-weight:300; color:var(--nearblack);}
.locations-section > .locations-inner > .locations-links a h3 {margin-bottom:10px; font-size:19px; line-height:1; font-weight:700; text-transform: uppercase;}
.locations-section > .locations-inner > .locations-links ul li a::after {content: "\f105"; position: absolute; z-index:2; top:42%; right:4px; font-size:13px; color:var(--nearblack); font-family: FontAwesome; transform: translateY(-50%);}


/*  FOOTER
------------------------------------------------*/
.global-footer {padding:0 3%; background:var(--offblack);}
.foot-wrap {max-width:1500px; margin:0 auto;}
a.foot-logo {display:inline-block; margin:-13px 0 6px 0;}
a.foot-logo img {max-width:100%;}
.foot-copyright {padding:20px 3%; font-size:15px; text-align:center;}





/************************************************ Responsive Styles **/

@media screen and (max-width: 1550px) {	
	.global-header {gap:30px; padding: 20px 2.5%;}
	.head-logo {margin: -28px 0 0 -5px; width: 190px;}
	nav.primary ul {gap:20px;}	
	nav.primary ul li a {font-size: 18px;}
}

@media screen and (max-width: 1300px) {
	nav.primary{display:none;}
	#menu-button{position:relative; z-index:400; display:block; margin:0 auto 0 0;}
	#menu-button a{font-size:24px; line-height:1; color:var(--nearblack); text-decoration: none; padding:0; cursor:pointer;}
	
	nav.mobile ul li a .fa{
		width:25px;
		font-weight:100;
		padding:8px 3px;
		margin:0 0 0 5px;
		text-align:center;
		background:#292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	
	nav.mobile ul li .fa-chevron-down {position:absolute; right:10px; margin:18px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		right: -285px;
		width: 285px;
		height: 100%;
		z-index: 500;
		overflow:auto;
		padding-bottom:40px;
		background:var(--offblack);
	}
	
	
	/* MENU HEADER STYLES */
	nav.mobile .menu-header {	
		position:relative; 
		color:var(--nearwhite);
		height:75px; 
		background:var(--drkblue);
		border-bottom:1px var(--a1red) solid;
	}			
	
	nav.mobile .menu-title {position: absolute; top: 50%; left: 47px; text-transform:uppercase; font-size:12px; font-weight: 900; transform: translateY(-50%); }
		
	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle {position: absolute; top: 50%; left: 21px; display: inline-block; font-weight: 700; font-size: 18px; line-height: 1; text-decoration: none; vertical-align: top; cursor:pointer; transform: translateY(-50%); }
	nav.mobile .menu-toggle:hover {color: #fff;}
	
	/* MENU LIST STYLE */
	nav.mobile ul {list-style: none; font-weight: 300; margin:0; padding:0;}
	nav.mobile ul li {color: #999; font-size:15px;}
	
	/* FIRST LEVEL */
	nav.mobile ul li a {
		color: #999;
		position: relative;
		display: block;
		font-size:15px;
		text-align:left;
		text-decoration: none;
		padding: 18px 20px 18px 30px;
		cursor:pointer;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	nav.mobile ul li a:hover {background:rgba(45,45,45,0.5); color: #fff;}
	
	/* SECOND LEVEL */
	nav.mobile ul li li:last-child {border:none;}
	nav.mobile ul li li a {color: #ccc; background: #444; padding: 18px 10px 18px 33px;}
	nav.mobile ul li li a:hover {background:rgba(65,65,65,0.5);}
	
	/* THIRD LEVEL */
	nav.mobile ul li li li:last-child {border:none;}
	nav.mobile ul li li li a {color: #ccc; background: #555;}
	nav.mobile ul li li li a:hover {background:rgba(85,85,85,0.5);}
}

@media screen and (max-width: 1024px) {
	.head-phone {font-size:18px;}
	.hero {height: 220px;}
	.hero-overlay .overlay-title {font-size: calc(16px + 4vw);}
	.hero-overlay .overlay-subtitle {font-size: calc(16px + 1.62vw);}
}

@media screen and (max-width: 992px) {
	.locations-section > .locations-inner {flex-flow:column wrap; gap:30px;}
	.locations-section > .locations-inner > .locations-links {max-width: none;}
}

@media screen and (max-width: 768px) {
	.quick-search-form {display:none;}
	.dropdown-search-icon {
		display:inline-block; position: relative; z-index: 1; box-sizing:border-box; width:45px; height:45px; margin:0; padding:0; font-size:18px; line-height:41px; text-align:center; 
		color: var(--white) !important; border: none; border:3px var(--white) solid; border-radius:50%; background: var(--a1blue) !important; box-shadow:0 0 0 1px var(--a1blue); cursor: pointer !important;
	}
	.dropdown-search-icon label {cursor: pointer !important;}
	
	
	
	
	
	form.search-form {
		overflow: hidden;
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: space-between;
		width: 98%;
		margin: 0 auto;
		border-radius: 30px;
		background: #f8f8f8 !important;
	}
	.search-form input[type="text"] {
		width: calc(100% - 60px) !important;
		height: auto!important;
		margin: 0;
		padding: 18px 28px !important;
		font-size: 18px !important;
		line-height: 1 !important;
		font-weight: 400;
		color: #323a40 !important;
		box-sizing: border-box !important;
		border-radius: 0;
		border: 0 !important;
		background: #f8f8f8 !important;
		font-family: "halcom", sans-serif !important;
	}
	.search-form button[type="submit"] {
		position: relative;
		z-index: 1;
		cursor: pointer;
		width: 60px;
		height: 51px;
		margin: 0;
		padding: 0;
		font-size: 20px;
		color: #121212;
		border: none;
		border-radius: 0;
		transition: all 0.2s ease-in-out;
		-webkit-appearance: none;
		font-family: "Font Awesome 7 Free";
	}
	.search-form button[type="submit"]:hover {color: #555;}
	.search-form button[type="submit"]:focus {color: #000;}
	
	.quick-search-form {width: auto; margin-top: 35px;}
	.quick-search-form h4 {
		margin-bottom: 12px;
		font-size: 28px;
		line-height: 1;
		font-weight: 800;
		text-transform: uppercase;
	}
	.quick-search-form form.search-form {width: auto;}
	.quick-search-form button[type="submit"] {
		width: 55px;
		margin-right: 5px;
		color: var(--nearblack) !important;
		border-radius: 30px;
		background: var(--gold) !important;
	}

	
	.hero {height:180px;}
	.foot-wrap {text-align:center;}
}

@media screen and (max-width: 550px) {
	.head-top {flex-flow:column wrap;}
	.head-heading > .head-subtitle {display:none;}
	nav.mobile .menu-header {height:91px;}
	.head-logo {margin: -28px auto 0 auto; width: 100%; text-align:center;}
	.head-phone a::before {content: "\f095"; position:relative; z-index:2; display:inline-block; box-sizing:border-box; width:45px; height:45px; font-size:20px; line-height:41px; text-align:center; color:var(--white); border:3px var(--white) solid; border-radius:50%; background:var(--a1red); box-shadow:0 0 0 1px var(--a1red); transition: all 0.2s ease-in-out; font-family: FontAwesome;}
	.head-phone a {position:relative;}
	.head-phone a:hover::before {background:var(--drkred); box-shadow:0 0 0 1px var(--drkred);}
	.head-phone a span{display:none;}
}