/* Default Template Styles */

/* Typography */
body {
  background: #fff;
}
p {
  color: #131313;
  font-size: 19px;
  line-height: 25.6px;
}
a, a:link, a:visited, a:hover, a:active { 
	color: #A70000;
	font-weight: 500;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: #131313;                                         
  margin-bottom: 15px;
  margin-top: 0;
}
h1, .h1 {font-size: 28.8px;}
h2, .h2 {font-size: 22.4px;}
h3, .h3 {font-size: 19.2px;}
h4, .h4 {font-size: 17.6px;}
h5, .h5 {font-size: 16px;}
h6, .h6 {font-size: 14.4px;}
h1.headline, .h1.headline {
  font-size: 60.8px; 
  letter-spacing: -2.5px;
}
h2.headline, .h2.headline {
  font-size: 48px; 
  letter-spacing: -2px; 
}
h3.headline, .h3.headline {
  font-size: 41.6px;
  letter-spacing: -2px;
}
h4.headline, .h4.headline {
  font-size: 36.8px;
  letter-spacing: -1.5px; 
}
h5.headline, .h5.headline {
  font-size: 35.2px;
  letter-spacing: -1.4px; 
}
h6.headline, .h6.headline {
  font-size: 32px;
  letter-spacing: -1.3px;
}
.text-size-12, .text-xxl-size-12 {
  font-size: 12px !important;
  line-height: 1.4;
}
.text-size-16, .text-xxl-size-16 {
  font-size: 16px !important;
  line-height: 1.4;
}
.text-size-17, .text-xxl-size-17 {
  font-size: 17px !important;
  line-height: 1.4;
}
.text-size-18, .text-xxl-size-18 {
  font-size: 18px !important;
  line-height: 1.4;
}
text-size-20, .text-xxl-size-20, .text-size-25, .text-xxl-size-25,.text-size-30, .text-xxl-size-30,.text-size-40, .text-xxl-size-40,.text-size-50, .text-xxl-size-50, .text-size-60, .text-xxl-size-60,.text-size-70, .text-xxl-size-70, .text-size-80, .text-xxl-size-80, .text-size-90, .text-xxl-size-90, .text-size-100, .text-xxl-size-100 {line-height: 1.4;}
.text-size-20, .text-xxl-size-20 {font-size: 20px !important;}
.text-size-25, .text-xxl-size-25 {font-size: 25px !important;}
.text-size-30, .text-xxl-size-30 {font-size: 30px !important;}
.text-size-40, .text-xxl-size-40 {font-size: 40px !important;}
.text-size-50, .text-xxl-size-50 {font-size: 50px !important;}
.text-size-60, .text-xxl-size-60 {font-size: 60px !important;}
.text-size-70, .text-xxl-size-70 {font-size: 70px !important;}
.text-size-80, .text-xxl-size-80 {font-size: 80px !important;}
.text-size-90, .text-xxl-size-90 {font-size: 90px !important;}
.text-size-100, .text-xxl-size-100 {font-size: 100px !important;}  
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-thin {
  font-weight: 300;
}
b, strong, .text-strong {
  font-weight: 700;
}
.text-extra-strong {
  font-weight: 800;
}
blockquote::before {
  color: #e0e0e0;
  content: "“";
  display: block;
  float: left;
  font-family: georgia;
  font-size: 80px;
  height: 30px;
  left: -40px;
  position: relative;
  top: -20px;
  width: 0;
}
blockquote {
  border: 0;
  font-size: 16px;
  padding: 0 0 0 40px;
}
a.text-tag:link {
  border: 1px solid #e5e5e5;
  display: inline-block;
  float: left;
  font-size: 12px;
  margin: 1px 2px 1px 0;
  padding: 6px 9px;
}
a.text-tag:link:hover {
  background: #002633 none repeat scroll 0 0;
  border: 1px solid #002633;
  color: #fff;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
}

ul.text-list, ol.text-list {
  font-size: 13.6px;
  line-height: 28.8px;
  padding: 0 16px;
}
ul.text-list ul, ol.text-list ol {
  padding: 0 14px;
}
iframe {
  display: block;
  margin: 0;
}

/* Drop Cap */
.text-drop-cap {
  float: left;
  font-size: 65px;
  line-height: 45px;
  padding-right: 10px;
  padding-top: 5px;
}

/* Tables */
table {
	background:none repeat scroll 0 0 #fff;
	border:0;
	font-size: 0.85rem;
  line-height: 1.6rem;
	}
table tr td, table tr th {padding:10px;}
table tfoot, table thead {
  background:none repeat scroll 0 0 #f5f5f5;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0;
}
table tr:nth-of-type(2n) {
  background:none repeat scroll 0 0 #f5f5f5;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0;
}
th {border-right:1px solid #fff;}
td {border-right:1px solid #fff;}


/* Backgrounds */
.background-white-hightlight .top-nav .active-item > a, .background-white-hightlight .top-nav li a:hover, .background-white-hightlight .aside-nav li a:hover, 
.background-white-hightlight .aside-nav > ul > li.active-item > a:link, .background-white-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-white .background-primary-hightlight .top-nav .active-item > a, .primary-color-white .background-primary-hightlight .top-nav li a:hover, .primary-color-white .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-white .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-white .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  background: #fff none repeat scroll 0 0;
  color: #002633;
}
.background-orange-hightlight .top-nav .active-item > a, .background-orange-hightlight .top-nav li a:hover, .background-orange-hightlight .aside-nav li a:hover, 
.background-orange-hightlight .aside-nav > ul > li.active-item > a:link, .background-orange-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-orange .background-primary-hightlight .top-nav .active-item > a, .primary-color-orange .background-primary-hightlight .top-nav li a:hover, .primary-color-orange .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-orange .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-orange .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  background: #E4A600 none repeat scroll 0 0;
  color: #fff;
}
.background-primary-hightlight .top-nav .active-item > a, .background-primary-hightlight .top-nav li a:hover, .background-primary-hightlight .aside-nav li a:hover, 
.background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-primary .background-primary-hightlight .top-nav .active-item > a, .primary-color-primary .background-primary-hightlight .top-nav li a:hover, .primary-color-primary .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-primary .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-primary .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  background: #C81010 none repeat scroll 0 0;
  color: #fff;
}
.background-dark-hightlight .top-nav .active-item > a, .background-dark-hightlight .top-nav li a:hover, .background-dark-hightlight .aside-nav li a:hover, 
.background-dark-hightlight .aside-nav > ul > li.active-item > a:link, .background-dark-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-dark .background-primary-hightlight .top-nav .active-item > a, .primary-color-dark .background-primary-hightlight .top-nav li a:hover, .primary-color-dark .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-dark .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-dark .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  background: #002633 none repeat scroll 0 0;
  color: #fff;
}
.background-none {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0!important;
  border: 0;
}

/* Breaks */
hr.break {
  border: 0;
  border-top: 1px solid #e5e5e5; 
  display: block;
  margin: 40px 0;
}
hr.break:after {
clear:both;
content:".";
display:block;
height:0;
line-height:0;
visibility:hidden;
}
hr.break.break-dashed {
  border-top: 1px dashed #e5e5e5;
}
hr.break.break-dotted {
  border-top: 1px dotted #e5e5e5;
}
hr.break.break-double {
  border-bottom: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
  height: 8px;
}
hr.break.break-dashed-double {
  border-bottom: 1px dashed #e5e5e5;
  border-top: 1px dashed #e5e5e5;
  height: 8px;
}
hr.break.break-dotted-double {
  border-bottom: 1px dotted #e5e5e5;
  border-top: 1px dotted #e5e5e5;
  height: 8px;
}

/* Small Breaks */
hr.break-small {
  background: #e5e5e5;
  border: 0;
  display: block;
  height: 2px;
  margin: 20px 0 35px;
  width: 60px;
}
hr.break-small.break-center {
  margin: 20px auto 35px;
}
hr.break-small.break-double {
  height: 0; 
  margin-bottom: 39px;
}
hr.break-small.break-double:before {
  background: #e5e5e5;
  border: 0 none;
  content: "";
  display: block;
  height: 2px;
  margin: 5px 0 0;
  width: 60px;
}
hr.break.break-small.break-double:after {
  background: #e5e5e5;
  border: 0 none;
  content: "";
  display: block;
  height: 2px;
  margin: 4px 0 35px;
  width: 60px;
}
hr.break-small.break-center.break-double:before {
  margin: 5px auto 0;
}
hr.break.break-small.break-center.break-double:after {
  margin: 4px auto 35px;
}
hr.break-small.break-double.background-white:before, hr.break-small.break-double.background-white:after, 
.primary-color-white hr.break-small.break-double.background-primary:before, .primary-color-white hr.break-small.break-double.background-primary:after {
  background: #fff;
}
hr.break-small.break-double.background-primary:before, hr.break-small.break-double.background-primary:after,
.primary-color-primary hr.break-small.break-double.background-primary:before, .primary-color-primary hr.break-small.break-double.background-primary:after {
  background: #C81010;
}


video {
  display: block;
} 

/* Top Nav */
.top-nav li a, .background-white .top-nav li a {
  color: #000000;
  font-size: 0.85rem;
  padding: 0.7em 1.25em;
}
nav {
  border-bottom: 4px solid rgba(0, 0, 0, 0.05);
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding: 1.7rem 0;
  position: relative;
  z-index: 2;
}  
.top-nav ul ul {
  background: #000000 none repeat scroll 0 0;
}
.top-nav li ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.top-nav li ul li:last-child {
  border-bottom: 0;
}
.top-nav li ul li a, .background-white .top-nav li ul li a, .top-nav .active-item li a {
  background: #002633 none repeat scroll 0 0;
  color: rgba(255,255,255, 0.75);
}
ul.chevron .submenu > a::after, ul.chevron .sub-submenu > a::after, ul.chevron .aside-submenu > a::after, ul.chevron .aside-sub-submenu > a::after {
  margin: 0 0 0 0.625rem;
}
.top-nav ul ul a {
  color: #eee;
}
.sticky {
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
}
.fixed {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10;
}
nav.fixed, .fixed nav {
  padding: 1rem 0;
}
.logo img {
  margin: 0 auto;
  max-width: 400px;
  width: 100%;
}

/* Aside Nav */
aside {
  border-left: 1px solid #e5e5e5;
  padding-left: 1.25rem;
}

.aside-nav ul {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  margin-left: -1.25rem;
}
.aside-nav ul ul {
  margin: 0;
}
.aside-nav li a, .aside-nav li a:link, .aside-nav li a:visited {
  border-bottom: medium none;
  font-size: 0.85rem;
  padding: 15px;
  border-left: 5px solid rgba(0,0,0,0);
}
.aside-nav > ul > li > a:hover, .aside-nav > ul > li.active-item > a:link, .aside-nav > ul > li.active-item > a:visited {
  border-style: solid;
  border-width: 0 0 0 5px;
  border-color: #e5e5e5;
  background: none;
  color: #333;
}
.aside-nav li ul ul {
  background: #e9e9e9 none repeat scroll 0 0;
}
aside.aside-left {
  border-left: 0;
  border-right: 1px solid #e5e5e5;
  padding-right: 1.25rem;
}
.aside-left .aside-nav ul {
  margin-right: -1.25rem;
}
.aside-left .aside-nav li a {
  border-left: 0;
  border-right: 5px solid rgba(0,0,0,0);
}
.aside-left .aside-nav > ul > li > a:hover, .aside-left .aside-nav > ul > li.active-item > a:link, .aside-left .aside-nav > ul > li.active-item > a:visited {
  border-style: solid;
  border-width: 0 5px 0 0;
  border-color: #e5e5e5;
}

.aside-nav.background-white-hightlight > ul > li > a:hover, .aside-nav.background-white-hightlight > ul > li.active-item > a:link, .aside-nav.background-white-hightlight > ul > li.active-item > a:visited,
.primary-color-white .aside-nav.background-primary-hightlight > ul > li > a:hover, .primary-color-white .aside-nav.background-primary-hightlight > ul > li.active-item > a:link, .primary-color-white .aside-nav.background-primary-hightlight > ul > li.active-item > a:visited {
  border-color: #fff;
} 

.aside-nav.background-primary-hightlight > ul > li > a:hover, .aside-nav.background-primary-hightlight > ul > li.active-item > a:link, .aside-nav.background-primary-hightlight > ul > li.active-item > a:visited,
.primary-color-primary .aside-nav.background-primary-hightlight > ul > li > a:hover, .primary-color-primary .aside-nav.background-primary-hightlight > ul > li.active-item > a:link, .primary-color-primary .aside-nav.background-primary-hightlight > ul > li.active-item > a:visited {
  border-color: #C81010;
}  
.aside-nav.background-dark-hightlight > ul > li > a:hover, .aside-nav.background-dark-hightlight > ul > li.active-item > a:link, .aside-nav.background-dark-hightlight > ul > li.active-item > a:visited,
.primary-color-dark .aside-nav.background-primary-hightlight > ul > li > a:hover, .primary-color-dark .aside-nav.background-primary-hightlight > ul > li.active-item > a:link, .primary-color-dark .aside-nav.background-primary-hightlight > ul > li.active-item > a:visited {
  border-color: #002633;
}

/* Font colors */
.background-white, .background-white p, a.background-white, .background-white a, .background-white a:link, .background-white a:visited, .background-white a:hover, .background-white a:active {
  color: #131313;
} 
.background-dark, .background-dark p, a.background-dark, a.background-dark:visited, a.background-dark:link, .background-dark a, .background-dark a:link, .background-dark a:visited, .background-dark a:hover, .background-dark a:active,
.primary-color-dark .background-primary, .primary-color-dark .background-primary p, .primary-color-dark a.background-primary, .primary-color-dark a.background-primary:visited, .primary-color-dark a.background-primary:link, .primary-color-dark a.background-primary:visited, .primary-color-dark .background-primary a, .primary-color-dark .background-primary a:link, .primary-color-dark .background-primary a:visited, .primary-color-dark .background-primary a:hover, .primary-color-dark .background-primary a:active {
  color: #7697A2;
}
.background-white h1, .background-white h2, .background-white h3, .background-white h4, .background-white h5, .background-white h6,
.background-white .h1, .background-white .h2, .background-white .h3, .background-white .h4, .background-white .h5, .background-white .h6, 
.primary-color-white .background-primary h1, .primary-color-white .background-primary h2, .primary-color-white .background-primary h3, .primary-color-white .background-primary h4, .primary-color-white .background-primary h5, .primary-color-white .background-primary h6,
.primary-color-white .background-primary .h1, .primary-color-white .background-primary .h2, .primary-color-white .background-primary .h3, .primary-color-white .background-primary .h4, .primary-color-white .background-primary .h5, .primary-color-white .background-primary .h6 {
  color: #002633;
} 
.image-hover-overlay-content *,
.background-primary, .background-primary p, a.background-primary, a.background-primary:visited, a.background-primary:link, .background-primary a, .background-primary a:link, .background-primary a:visited, .background-primary a:hover, .background-primary a:active,
.primary-color-primary .background-primary, .primary-color-primary .background-primary p, .primary-color-primary a.background-primary, .primary-color-primary a.background-primary:visited, .primary-color-primary a.background-primary:link, .primary-color-primary .background-primary a, .primary-color-primary .background-primary a:link, .primary-color-primary .background-primary a:visited, .primary-color-primary .background-primary a:hover, .primary-color-primary .background-primary a:active {
  color: rgba(255,255,255, 0.75);
}
.background-dark h1, .background-dark h2, .background-dark h3, .background-dark h4, .background-dark h5, .background-dark h6,
.background-dark .h1, .background-dark .h2, .background-dark .h3, .background-dark .h4, .background-dark .h5, .background-dark .h6, 
.primary-color-dark .background-primary h1, .primary-color-dark .background-primary h2, .primary-color-dark .background-primary h3, .primary-color-dark .background-primary h4, .primary-color-dark .background-primary h5, .primary-color-dark .background-primary h6,
.primary-color-dark .background-primary .h1, .primary-color-dark .background-primary .h2, .primary-color-dark .background-primary .h3, .primary-color-dark .background-primary .h4, .primary-color-dark .background-primary .h5, .primary-color-dark .background-primary .h6, 
.background-primary h1, .background-primary h2, .background-primary h3, .background-primary h4, .background-primary h5, .background-primary h6,
.background-primary .h1, .background-primary .h2, .background-primary .h3, .background-primary .h4, .background-primary .h5, .background-primary .h6,
.primary-color-primary .background-primary h1, .primary-color-primary .background-primary h2, .primary-color-primary .background-primary h3, .primary-color-primary .background-primary h4, .primary-color-primary .background-primary h5, .primary-color-primary .background-primary h6,
.primary-color-primary .background-primary .h1, .primary-color-primary .background-primary .h2, .primary-color-primary .background-primary .h3, .primary-color-primary .background-primary .h4, .primary-color-primary .background-primary .h5, .primary-color-primary .background-primary .h6 {
  color: #fff;
}
.text-white, .text-white *, .primary-color-white .text-primary, .primary-color-white .text-primary * {
  color: #fff !important;
}
.text-yellow, .text-yellow *, .primary-color-yellow .text-primary, .primary-color-yellow .text-primary * {
  color: #F1D529 !important;
}
.text-orange, .text-orange *, .primary-color-orange .text-primary, .primary-color-orange .text-primary * {
  color: #E4A600 !important;
}
.text-red, .text-red *, .primary-color-red .text-primary, .primary-color-red .text-primary * {
  color: #C81010 !important;
}
.text-pink, .text-pink *, .primary-color-pink .text-primary, .primary-color-pink .text-primary * {
  color: #DE1E5E !important;
}
.text-purple, .text-purple *, .primary-color-purple .text-primary, .primary-color-purple .text-primary * {
  color: #913fd9 !important;
}
.text-blue, .text-blue *, .primary-color-blue .text-primary, .primary-color-blue .text-primary * {
  color: #005881 !important;
}
.text-light-blue, .text-light-blue *, .primary-color-light-blue .text-primary, .primary-color-light-blue .text-primary * {
  color: #28a5df !important;
}
.text-aqua, .text-aqua *, .primary-color-aqua .text-primary, .primary-color-aqua .text-primary * {
  color: #00B5A6 !important;
}
.text-green, .text-green *, .primary-color-green .text-primary, .primary-color-green .text-primary * {
  color: #49BF4C !important;
}
.text-dark, .text-dark *, .primary-color-dark .text-primary, .primary-color-dark .text-primary * {
  color: #111111 !important;
} 
.text-primary-hover, .text-white-hover, .text-yellow-hover, .text-orange-hover, .text-red-hover, .text-pink-hover, .text-purple, .text-blue-hover, .text-light-blue, .text-aqua-hover, .text-green-hover, .text-dark-hover {
  transition: color 0.20s linear 0s;
  -o-transition: color 0.20s linear 0s;
  -ms-transition: color 0.20s linear 0s;
  -moz-transition: color 0.20s linear 0s;
  -webkit-transition: color 0.20s linear 0s;
}
.text-white-hover:hover, .primary-color-white .text-primary-hover:hover {
  color: #fff !important;
}
.text-yellow-hover:hover, .primary-color-yellow .text-primary-hover:hover {
  color: #F1D529 !important;
}
.text-orange-hover:hover, .primary-color-orange .text-primary-hover:hover {
  color: #E4A600 !important;
}
.text-red-hover:hover, .primary-color-red .text-primary-hover:hover {
  color: #C81010 !important;
}
.text-pink-hover:hover, .primary-color-pink .text-primary-hover:hover {
  color: #DE1E5E !important;
}
.text-purple-hover:hover, .primary-color-purple .text-primary-hover:hover {
  color: #913fd9 !important;
}
.text-blue-hover:hover, .primary-color-blue .text-primary-hover:hover {
  color: #005881 !important;
}
.text-light-blue-hover:hover, .primary-color-light-blue .text-primary-hover:hover {
  color: #28a5df !important;
}
.text-aqua-hover:hover, .primary-color-aqua .text-primary-hover:hover {
  color: #00B5A6 !important;
}
.text-green-hover:hover, .primary-color-green .text-primary-hover:hover {
  color: #49BF4C !important;
}
.text-dark-hover:hover, .primary-color-dark .text-primary-hover:hover {
  color: #111111 !important;
} 
/* Background Colors */
.background-white, .primary-color-white .background-primary {
  background-color: #fff !important;
}
.background-orange, .primary-color-orange .background-primary {
  background-color: #E4A600 !important;
}
.background-primary, .primary-color-primary .background-primary {
  background-color: #C81010 !important;
}
.background-dark, .primary-color-dark .background-primary {
  background-color: #002633 !important; 
}
/* Background Opacity */
.background-white.background-transparent, .primary-color-white .background-primary.background-transparent {
  background-color: rgba(255, 255, 255, 0.85) !important;
}
.background-primary.background-transparent, .primary-color-primary .background-primary.background-transparent {
  background-color: rgba(200, 16, 16, 0.85) !important;
}
.background-dark.background-transparent, .primary-color-dark .background-primary.background-transparent {
  background-color: rgba(0, 38, 51, 0.85) !important;
}
.background-grey {
  background-color: #f5f5f5 !important;
}
.background-sand {
  background-color: #f9f2e2 !important; 
}


/* Hover Overlay */
.image-hover-overlay {
  bottom: 0;
  color: rgba(255,255,255, 0.75)!important;
  left: 0;
  opacity: 0;
  padding: 1.25rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
  transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.image-border-radius .image-hover-overlay {
  border-radius: 3px;
}
.image-hover-overlay:hover {
  opacity: 1;
}
.image-hover-overlay-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
  transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.image-hover-overlay:hover > .image-hover-overlay-content {
  top: 50%;
}

/* Image blocks */
.image-with-hover-overlay {
  display: block;
  position: relative;
}
.image-border-radius img {
  border-radius: 3px;
}
.image-hover-zoom {
  display: block;
  overflow: hidden;
}
.image-hover-zoom img {
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
}
.image-with-hover-overlay img {
  width: 100%;
}
.image-hover-zoom:hover img {
  transform: scale(1.1);
}


/* Buttons */
.button, a.button, a.button:link, a.button:visited {
  border-color: rgba(255, 255, 255, 0.4) rgba(255, 255, 255, 0) rgba(0, 0, 0, 0.3);
  border-style: solid;
  border-width: 1px;
  color: white;
  display: inline-block;
  padding: 0.625rem 1.25rem;
  text-align: center;
  transition: all 0.20s linear 0s !important;
  -o-transition: all 0.20s linear 0s !important;
  -ms-transition: all 0.20s linear 0s !important;
  -moz-transition: all 0.20s linear 0s !important;
  -webkit-transition: all 0.20s linear 0s !important;
}

.button:hover, a.button:hover, a.button:link:hover, a.button:visited:hover {
  box-shadow: 0 0 100px 100px rgba(255, 255, 255, 0.25) inset;
}
/* Stroke Buttons */ 
.button.button-white-stroke, a.button.button-white-stroke, a.button.button-white-stroke:link, a.button.button-white-stroke:visited,
.primary-color-white .button.button-primary-stroke, .primary-color-white a.button.button-primary-stroke, .primary-color-white a.button.button-primary-stroke:link, .primary-color-white a.button.button-primary-stroke:visited {
  background: none;
  border: 1px solid #fff;
  box-shadow: none;
}
.button.button-white-stroke:hover, a.button.button-white-stroke:hover,
.primary-color-white .button.button-primary-stroke:hover, .primary-color-white a.button.button-primary-stroke:hover {
  background: #fff none repeat scroll 0 0;
  color: #002633;
}
.button.button-primary-stroke, a.button.button-primary-stroke, a.button.button-primary-stroke:link, a.button.button-primary-stroke:visited,
.primary-color-primary .button.button-primary-stroke, .primary-color-primary a.button.button-primary-stroke, .primary-color-primary a.button.button-primary-stroke:link, .primary-color-primary a.button.button-primary-stroke:visited {
  background: none;
  border: 1px solid #C81010;
  box-shadow: none;
  color: #C81010;
}
.button.button-primary-stroke:hover, a.button.button-primary-stroke:hover,
.primary-color-primary .button.button-primary-stroke:hover, .primary-color-primary a.button.button-primary-stroke:hover {
  background: #C81010 none repeat scroll 0 0;
  color: #fff;
}

.button.button-dark-stroke, a.button.button-dark-stroke, a.button.button-dark-stroke:link, a.button.button-dark-stroke:visited,
.primary-color-dark .button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke:link, .primary-color-dark a.button.button-primary-stroke:visited {
  background: none;
  border: 1px solid #002633;
  box-shadow: none;
  color: #002633;
}
.button.button-dark-stroke:hover, a.button.button-dark-stroke:hover,
.primary-color-dark .button.button-primary-stroke:hover, .primary-color-dark a.button.button-primary-stroke:hover {
  background: #002633 none repeat scroll 0 0;
  color: #fff;
}

/* Containers */
.section  { 
  padding: 6rem 1.25rem;
}
.section-small-padding  { 
  padding: 2.5rem 1.25rem;
}
.section-top-padding  { 
  padding-top: 6rem;
}
.section-top-small-padding  { 
  padding-top: 2.5rem;
}
.float-left {
  float: left;
}
.block-bordered {
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.padding {
  padding: 1.25rem!important;
}
.padding-2x {
  padding: 2.5rem!important;
}

.full-width:after {
  clear:both;
  content:".";
  display:block;
  height:0;
  line-height:0;
  visibility:hidden;
}
.full-width > .line {
    padding: 0 1.875rem;
}
.position-fixed  { 
  position: fixed;
  top: 0;
  width: 100%;
}
.center {
  display: block!important;
}
.border-radius  { 
  border-radius: 3px;
}
.content-center-vertical {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%; 
  transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -webkit-transform:translateY(-50%);
}
.content-bottom {
  bottom: 0;
  position: absolute;
}
.grayscale {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="g"><feColorMatrix type="matrix" values="0.3 0.3 0.3 0 0 0.3 0.3 0.3 0 0 0.3 0.3 0.3 0 0 0 0 0 1 0"/></filter></svg>#g');
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);    
  filter: progid:DXImageTransform.Microsoft.BasicImage(grayScale=1);
}

.image-grayscale {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="g"><feColorMatrix type="matrix" values="0.3 0.3 0.3 0 0 0.3 0.3 0.3 0 0 0.3 0.3 0.3 0 0 0 0 0 1 0"/></filter></svg>#g');
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);    
  filter: progid:DXImageTransform.Microsoft.BasicImage(grayScale=1);
  position: relative;
}
*:hover > .image-grayscale {
  filter: none;
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);    
  filter: progid:DXImageTransform.Microsoft.BasicImage(grayScale=0);
}


/* Margins */
.margin-top {
  margin-top: 1.25rem !important;
}
.margin-left {
  margin-left: 1.25rem !important;
}
.margin-right {
  margin-right: 1.25rem !important;
}
.margin-top-bottom {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}
.margin-left-right {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
}
.margin-top-0 {
  margin-top: 0 !important;
  display: block;
}
.margin-top-10 {
  margin-top: 10px !important;
  display: block;
}
.margin-top-15 {
  margin-top: 15px !important;
  display: block;
} 
.margin-top-20 {
  margin-top: 20px !important;
  display: block;
} 
.margin-top-30 {
  margin-top: 30px !important;
  display: block;
} 
.margin-top-40 {
  margin-top: 40px !important;
  display: block;
}
.margin-top-50 {
  margin-top: 50px !important;
  display: block;
}
.margin-top-60 {
  margin-top: 60px !important;
  display: block;
}
.margin-top-70 {
  margin-top: 70px !important;
  display: block;
}
.margin-top-80 {
  margin-top: 80px !important;
  display: block;
}
.margin-bottom-0 {
  margin-bottom: 0 !important;
  display: block;
}
.margin-bottom-10 {
  margin-bottom: 10px !important;
  display: block;
}
.margin-bottom-15 {
  margin-bottom: 15px !important;
  display: block;
} 
.margin-bottom-20 {
  margin-bottom: 20px !important;
  display: block;
} 
.margin-bottom-30 {
  margin-bottom: 30px !important;
  display: block;
  color: #131313;	
} 
.margin-bottom-40 {
  margin-bottom: 40px !important;
  display: block;
}
.margin-bottom-50 {
  margin-bottom: 50px !important;
  display: block;
}
.margin-bottom-60 {
  margin-bottom: 60px !important;
  display: block;
}
.margin-bottom-70 {
  margin-bottom: 70px !important;
  display: block;
}
.margin-bottom-80 {
  margin-bottom: 80px !important;
  display: block;
}
.margin-top-bottom-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: block;
}
.margin-top-bottom-10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  display: block;
}
.margin-top-bottom-15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  display: block;
} 
.margin-top-bottom-20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  display: block;
} 
.margin-top-bottom-30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  display: block;
} 
.margin-top-bottom-40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  display: block;
}
.margin-top-bottom-50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
  display: block;
}
.margin-top-bottom-60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
  display: block;
} 
.margin-top-bottom-70 {
  margin-top: 70px !important;
  margin-bottom: 70px !important;
  display: block;
} 
.margin-top-bottom-80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
  display: block;
}

.margin-left-0 {
  margin-left: 0 !important;
}
.margin-left-10 {
  margin-left: 10px !important;
}
.margin-left-15 {
  margin-left: 15px !important;
} 
.margin-left-20 {
  margin-left: 20px !important;
} 
.margin-left-30 {
  margin-left: 30px !important;
} 
.margin-left-40 {
  margin-left: 40px !important;
}
.margin-left-50 {
  margin-left: 50px !important;
}
.margin-left-60 {
  margin-left: 60px !important;
}
.margin-left-70 {
  margin-left: 70px !important;
}
.margin-left-80 {
  margin-left: 80px !important;
}
.margin-right-0 {
  margin-right: 0 !important;
}
.margin-right-10 {
  margin-right: 10px !important;
}
.margin-right-15 {
  margin-right: 15px !important;
} 
.margin-right-20 {
  margin-right: 20px !important;
} 
.margin-right-30 {
  margin-right: 30px !important;
} 
.margin-right-40 {
  margin-right: 40px !important;
}
.margin-right-50 {
  margin-right: 50px !important;
}
.margin-right-60 {
  margin-right: 60px !important;
}
.margin-right-70 {
  margin-right: 70px !important;
}
.margin-right-80 {
  margin-right: 80px !important;
}
.margin-left-right-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.margin-left-right-10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}
.margin-left-right-15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
} 
.margin-left-right-20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
} 
.margin-left-right-30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
} 
.margin-left-right-40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}
.margin-left-right-50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}
.margin-left-right-60 {
  margin-left: 60px !important;
  margin-right: 60px !important;
} 
.margin-left-right-70 {
  margin-left: 70px !important;
  margin-right: 70px !important;
} 
.margin-left-right-80 {
  margin-left: 80px !important;
  margin-right: 80px !important;
}        

/* More info button */
a.text-more-info {
  display: block;
  font-size: 0.85rem;
  margin-top: 0.625rem;
}
a.text-more-info:after {
  content: "\f006";
  font-family: mfg;
  font-size: 0.8rem;
  margin-left: 0.625rem;
  transition: all 0.20s linear 0s;
-o-transition: all 0.20s linear 0s;
-ms-transition: all 0.20s linear 0s;
-moz-transition: all 0.20s linear 0s;
-webkit-transition: all 0.20s linear 0s;
}
a.text-more-info:hover:after {
  margin-left: 0.825rem;
}

/* Top bar */
.top-bar-contact p {
  height: 35px;
  line-height: 35px;
}
.top-bar-social li {
  border-left: 1px solid rgba(0,0,0, 0.05);
  float: left;
  height: 35px;
  line-height: 35px;
  list-style: outside none none;
  text-align: center;
  width: 35px;
}
.top-bar-social li:last-child {
  border-right: 1px solid rgba(0,0,0, 0.05);
}
.top-bar-social i {
  color: rgba(170, 170, 170, 0.20);
  font-size: 18px; 
}

/* Icon blocks */
i.icon-circle {
  border-radius: 100px;
  display: block;
  height: 100px;
  line-height: 100px;
  margin-bottom: 0.625rem;
  text-align: center;
  width: 100px;
}
i.icon-circle-small {
  border-radius: 60px;
  display: block;
  font-size: 1.1rem;
  height: 60px;
  line-height: 60px;
  margin-bottom: 0.625rem;
  text-align: center;
  width: 60px;
}

/* Carousel */
/*.owl-theme .owl-controls {
  margin-top: 0;
}*/
.owl-carousel .owl-nav div {
  filter: Alpha(Opacity=50);
  opacity: 0.5;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
}
.owl-carousel .owl-nav div:hover {
  filter: Alpha(Opacity=100);
  opacity: 1;
}
.owl-carousel .owl-dots {
  text-align: center;
}
.owl-carousel .owl-dot {
  display: inline-block;
}
.owl-carousel .owl-dot span {
  background: #7697a2 none repeat scroll 0 0;
  border-radius: 0;
  display: block;
  height: 1px;
  margin: 0 1px;
  width: 30px;
  filter: Alpha(Opacity=50);
  opacity: 0.5;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
}
.owl-carousel .owl-dot.active span {
  filter: Alpha(Opacity=100);
  opacity: 1;
}
.owl-carousel .owl-nav div {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #7697a2!important;
  border: 1px solid #7697a2;
  border-radius: 0;
  font-family: sli;
  height: 40px;
  line-height: 40px;
  margin-top: -20px;
  padding: 0;
  position: absolute;
  text-align: center;
  top: 50%;    
  width: 40px;
}
.carousel-bottom-arrows.owl-carousel .owl-nav div {
  bottom: 0;
  top: auto;
}
.owl-carousel .owl-nav .owl-prev {
  left: 0;    
}
.owl-carousel .owl-nav .owl-next {
  right: 0;
}
.carousel-wide-arrows.owl-carousel .owl-nav .owl-prev {
  left: -60px;
}
.carousel-wide-arrows.owl-carousel .owl-nav .owl-next {
  right: -60px;
}
.carousel-nav-white.owl-carousel .owl-dots span {
  background: #fff none repeat scroll 0 0;
}
.carousel-nav-white.owl-carousel .owl-nav div {
  color: #fff!important;
  border: 1px solid #fff;
}
.carousel-main .carousel-content {
  bottom: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
  transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.owl-dots {
  margin-top: 0.625rem;
} 
.carousel-main .owl-dots {
  bottom: 0;
  padding: 1.25rem 0;
  position: absolute;
  width: 100%;
}
.carousel-blocks {
  padding: 0 3rem;
}
.carousel-blocks .owl-item {
  padding: 0 0.625rem;
}
.carousel-hide-arrows .owl-nav, .carousel-hide-pagination .owl-pagination {
display:none;
}
.carousel-3-blocks {
  padding: 0 3rem;
}
.carousel-3-blocks .owl-item {
  padding: 0 0.625rem;
}

/* Portfolio Tabs */
.tab-nav.line {
  display: table;
  padding-bottom: 1.25rem;
}
.tab-item {
  padding: 0;
}
a.tab-label, a.tab-label:link, a.tab-label:visited,
.background-white a.tab-label, .background-white a.tab-label:link, .background-white a.tab-label:visited, .background-white a.tab-label:hover {
  background: #002633 none repeat scroll 0 0;
  color: rgba(255,255,255, 0.75);
}
a.tab-label, a.tab-label:link, a.tab-label:visited, a.tab-label:hover,
.background-white a.tab-label, .background-white a.tab-label:link, .background-white a.tab-label:visited, .background-white a.tab-label:hover {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #002633;
}
.background-white-hightlight a.tab-label.active-btn, .background-white-hightlight a.tab-label:hover,
.primary-color-white .background-primary-hightlight a.tab-label.active-btn, .primary-color-white .background-primary-hightlight a.tab-label:hover {
  background: #fff none repeat scroll 0 0;
  color: #002633;
}
.background-primary-hightlight a.tab-label.active-btn, .background-primary-hightlight a.tab-label:hover,
.primary-color-primary .background-primary-hightlight a.tab-label.active-btn, .primary-color-primary .background-primary-hightlight a.tab-label:hover {
  background: #C81010 none repeat scroll 0 0;
  color: #fff;
}
.background-dark-hightlight a.tab-label.active-btn, .background-dark-hightlight a.tab-label:hover,
.primary-color-dark .background-primary-hightlight a.tab-label.activÿ btᆔɟ .primary-color-dark .background-primary-hightlight a.tab-label:hover {
  background: #002633 none repeat scroll 0 0;
  color: #fff;
}

/* Forms */
form.customform input, form.customform textarea, form.customform select {
  background: rgba(0, 0, 0, 0.03) none repeat scroll 0 0;
  border: 1px solid rgba(0, 0, 0, 0.14);
  font-size: 16px;
  padding: 15px;
  width: 100%;
  color: #000;
}
form.customform input:hover, form.customform textarea:hover, form.customform select:hover, form.customform input:focus, form.customform textarea:focus, form.customform select:focus {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #000;
}
p.form-error {
  background-color: #DD442C;
  color: #3F3F3F;
  display: none;
  font-size: 14px;
  margin: -10px 0 15px 0;
  padding: 15px;
  text-align: center;
}
p.form-success {
  background-color: #9bdd42;
  color: #3F3F3F;
  display: none;
  font-size: 0.85rem;
  padding: 10px;
  text-align: center;
}
.required {
  border-left: 1px solid #dd442c !important;
}


/* -768px version */
@media screen and (max-width:768px) {
    .top-nav .right {
      float: none;
    }
    nav {
        padding: 10px 0;
        height: 60px;
    }
    .logo img {
      max-width: 172px;
      max-height: 40px;
      margin: 0 auto;
      width: auto;
    }
    
    .top-nav li a, .background-white .top-nav li a {
      background: #002633 none repeat scroll 0 0;
      color: #fff;
      font-size: 1.1em;
      padding: 1em;
      text-align: center;
    }
    aside {
        border: none;
        padding: 0;
    }
    aside.aside-left {
        border-right: 0;
        padding-right: 0;
    }
    .owl-nav {
      display: none;
    }
    .carousel-main .owl-item img, .carousel-main .owl-item video {
      max-width: 250%;
    	width:auto;
    } 
    .margin-m-top {
      margin-top: 1.25rem !important;
      display: block;
    }
    .margin-m-bottom {
        margin-bottom: 1.25rem !important;
        display: block;
    }
    .margin-m-left {
        margin-left: 1.25rem !important;
    }
    .margin-m-right {
        margin-right: 1.25rem !important;
    }
    .margin-m-top-bottom {
        margin-top: 1.25rem !important;
        margin-bottom: 1.25rem !important;
    display: block;
    }
    .margin-m-left-right {
        margin-left: 1.25rem !important;
        margin-right: 1.25rem !important;
    }
    .margin-m-top-0 {
        margin-top: 0 !important;
    display: block;
    }
    .margin-m-top-10 {
        margin-top: 10px !important; 
    display: block;
    }
    .margin-m-top-15 {
        margin-top: 15px !important;
    display: block;
    } 
    .margin-m-top-20 {
        margin-top: 20px !important; 
    display: block;
    } 
    .margin-m-top-30 {
        margin-top: 30px !important;
    display: block;
    } 
    .margin-m-top-40 {
        margin-top: 40px !important;
    display: block;
    }
    .margin-m-top-50 {
        margin-top: 50px !important;
    display: block;
    }
    .margin-m-top-60 {
        margin-top: 60px !important;
    display: block;
    }
    .margin-m-top-70 {
        margin-top: 70px !important; 
    display: block;
    }
    .margin-m-top-80 {
        margin-top: 80px !important;
    display: block;
    }
    .margin-m-bottom-0 {
        margin-bottom: 0 !important; 
    display: block;
    }
    .margin-m-bottom-10 {
        margin-bottom: 10px !important; 
    display: block;
    }
    .margin-m-bottom-15 {
        margin-bottom: 15px !important;
    display: block;
    } 
    .margin-m-bottom-20 {
        margin-bottom: 20px !important;
    display: block;
    } 
    .margin-m-bottom-30 {
        margin-bottom: 30px !important;
    display: block;
    } 
    .margin-m-bottom-40 {
        margin-bottom: 40px !important;
    display: block;
    }
    .margin-m-bottom-50 {
        margin-bottom: 50px !important;
    display: block;
    }
    .margin-m-bottom-60 {
        margin-bottom: 60px !important;
    display: block;
    }
    .margin-m-bottom-70 {
        margin-bottom: 70px !important;
    display: block;
    }
    .margin-m-bottom-80 {
        margin-bottom: 80px !important; 
    display: block;
    }
    .margin-m-top-bottom-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    display: block;
    }
    .margin-m-top-bottom-10 {
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    display: block;
    }
    .margin-m-top-bottom-15 {
        margin-top: 15px !important;
        margin-bottom: 15px !important; 
    display: block;
    } 
    .margin-m-top-bottom-20 {
        margin-top: 20px !important;
        margin-bottom: 20px !important; 
    display: block;
    } 
    .margin-m-top-bottom-30 {
        margin-top: 30px !important;
        margin-bottom: 30px !important; 
    display: block;
    } 
    .margin-m-top-bottom-40 {
        margin-top: 40px !important;
        margin-bottom: 40px !important; 
    display: block;
    }
    .margin-m-top-bottom-50 {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    display: block;
    }
    .margin-m-top-bottom-60 {
        margin-top: 60px !important;
        margin-bottom: 60px !important; 
    display: block;
    } 
    .margin-m-top-bottom-70 {
        margin-top: 70px !important;
        margin-bottom: 70px !important;
    display: block;
    } 
    .margin-m-top-bottom-80 {
        margin-top: 80px !important;
        margin-bottom: 80px !important;
    display: block;
    }
    
    .margin-m-left-0 {
        margin-left: 0 !important;
    }
    .margin-m-left-10 {
        margin-left: 10px !important;
    }
    .margin-m-left-15 {
        margin-left: 15px !important;
    } 
    .margin-m-left-20 {
        margin-left: 20px !important;
    } 
    .margin-m-left-30 {
        margin-left: 30px !important;
    } 
    .margin-m-left-40 {
        margin-left: 40px !important;
    }
    .margin-m-left-50 {
        margin-left: 50px !important;
    }
    .margin-m-left-60 {
        margin-left: 60px !important;
    }
    .margin-m-left-70 {
        margin-left: 70px !important;
    }
    .margin-m-left-80 {
        margin-left: 80px !important;
    }
    .margin-m-right-0 {
        margin-right: 0 !important;
    }
    .margin-m-right-10 {
        margin-right: 10px !important;
    }
    .margin-m-right-15 {
        margin-right: 15px !important;
    } 
    .margin-m-right-20 {
        margin-right: 20px !important;
    } 
    .margin-m-right-30 {
        margin-right: 30px !important;
    } 
    .margin-m-right-40 {
        margin-right: 40px !important;
    }
    .margin-m-right-50 {
        margin-right: 50px !important;
    }
    .margin-m-right-60 {
        margin-right: 60px !important;
    }
    .margin-m-right-70 {
        margin-right: 70px !important;
    }
    .margin-m-right-80 {
        margin-right: 80px !important;
    }
    .margin-m-left-right-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .margin-m-left-right-10 {
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
    .margin-m-left-right-15 {
        margin-left: 15px !important;
        margin-right: 15px !important;
    } 
    .margin-m-left-right-20 {
        margin-left: 20px !important;
        margin-right: 20px !important;
    } 
    .margin-m-left-right-30 {
        margin-left: 30px !important;
        margin-right: 30px !important;
    } 
    .margin-m-left-right-40 {
        margin-left: 40px !important;
        margin-right: 40px !important;
    }
    .margin-m-left-right-50 {
        margin-left: 50px !important;
        margin-right: 50px !important;
    }
    .margin-m-left-right-60 {
        margin-left: 60px !important;
        margin-right: 60px !important;
    } 
    .margin-m-left-right-70 {
        margin-left: 70px !important;
        margin-right: 70px !important;
    } 
    .margin-m-left-right-80 {
        margin-left: 80px !important;
        margin-right: 80px !important;
    }  
    .text-m-size-12 {
      font-size: 12px !important;
      line-height: 1.4;
    }
    .text-m-size-16 {
        font-size: 16px !important;
        line-height: 1.4;
    }
    .text-m-size-20 {
        font-size: 20px !important;
        line-height: 1.4;
    }
    .text-m-size-25 {
        font-size: 25px !important;
        line-height: 1.4;
    }
    .text-m-size-30 {
        font-size: 30px !important;
        line-height: 1.4;
    }
    .text-m-size-40 {
        font-size: 40px !important;
        line-height: 1.4;
    }
    .text-m-size-50 {
        font-size: 50px !important;
        line-height: 1.4;
    }
    .text-m-size-60 {
        font-size: 60px !important;
        line-height: 1.4;
    }
    .text-m-size-70 {
        font-size: 70px !important;
        line-height: 1.4;
    } 
    .owl-nav {
      display: none;
    }
}  

/* -480px version */
@media screen and (max-width:480px) {
    .top-bar .right {
      float: none;
    }
    .top-bar-contact p {
      height: auto;
      line-height: 1.3rem;
      padding: 10px 0;
      text-align: center;
    }
    .top-bar-social.right {
      display: table;
      float: none;
      margin: 0 auto;
      padding: 0;
      text-align: center;
    }
    .margin-s-top {
        margin-top: 1.25rem !important;
        display: block;
    }
    .margin-s-bottom {
        margin-bottom: 1.25rem !important; 
        display: block;
    }
    .margin-s-left {
        margin-left: 1.25rem !important;
    }
    .margin-s-right {
        margin-right: 1.25rem !important;
    }
    .margin-s-top-bottom {
        margin-top: 1.25rem !important;
        margin-bottom: 1.25rem !important;
        display: block;
    }
    .margin-s-left-right {
        margin-left: 1.25rem !important;
        margin-right: 1.25rem !important;
    }
    .margin-s-top-0 {
        margin-top: 0 !important; 
        display: block;
    }
    .margin-s-top-10 {
        margin-top: 10px !important;
        display: block;
    }
    .margin-s-top-15 {
        margin-top: 15px !important;
        display: block;
    } 
    .margin-s-top-20 {
        margin-top: 20px !important;
        display: block;
    } 
    .margin-s-top-30 {
        margin-top: 30px !important; 
        display: block;
    } 
    .margin-s-top-40 {
        margin-top: 40px !important; 
        display: block;
    }
    .margin-s-top-50 {
        margin-top: 50px !important;
        display: block;
    }
    .margin-s-top-60 {
        margin-top: 60px !important;
        display: block;
    }
    .margin-s-top-70 {
        margin-top: 70px !important;
        display: block;
    }
    .margin-s-top-80 {
        margin-top: 80px !important;
        display: block;
    }
    .margin-s-bottom-0 {
        margin-bottom: 0 !important; 
        display: block;
    }
    .margin-s-bottom-10 {
        margin-bottom: 10px !important;
        display: block;
    }
    .margin-s-bottom-15 {
        margin-bottom: 15px !important; 
        display: block;
    } 
    .margin-s-bottom-20 {
        margin-bottom: 20px !important; 
        display: block;
    } 
    .margin-s-bottom-30 {
        margin-bottom: 30px !important; 
        display: block;
    } 
    .margin-s-bottom-40 {
        margin-bottom: 40px !important;
        display: block;
    }
    .margin-s-bottom-50 {
        margin-bottom: 50px !important;
        display: block;
    }
    .margin-s-bottom-60 {
        margin-bottom: 60px !important; 
        display: block;
    }
    .margin-s-bottom-70 {
        margin-bottom: 70px !important; 
        display: block;
    }
    .margin-s-bottom-80 {
        margin-bottom: 80px !important;
        display: block;
    }
    .margin-s-top-bottom-0 {
        margin-top: 0 !important; 
        margin-bottom: 0 !important;
        display: block; 
    }
    .margin-s-top-bottom-10 {
        margin-top: 10px !important; 
        margin-bottom: 10px !important;
        display: block; 
    }
    .margin-s-top-bottom-15 {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
        display: block;
    } 
    .margin-s-top-bottom-20 {
        margin-top: 20px !important;  
        margin-bottom: 20px !important; 
        display: block;
    } 
    .margin-s-top-bottom-30 {
        margin-top: 30px !important; 
        margin-bottom: 30px !important; 
        display: block;
    } 
    .margin-s-top-bottom-40 {
        margin-top: 40px !important; 
        margin-bottom: 40px !important;
        display: block; 
    }
    .margin-s-top-bottom-50 {
        margin-top: 50px !important; 
        margin-bottom: 50px !important; 
        display: block;
    }
    .margin-s-top-bottom-60 {
        margin-top: 60px !important;
        margin-bottom: 60px !important; 
        display: block;
    } 
    .margin-s-top-bottom-70 {
        margin-top: 70px !important; 
        margin-bottom: 70px !important; 
        display: block;
    } 
    .margin-s-top-bottom-80 {
        margin-top: 80px !important;
        margin-bottom: 80px !important; 
        display: block;
    }
    
    .margin-s-left-0 {
        margin-left: 0 !important;
    }
    .margin-s-left-10 {
        margin-left: 10px !important;
    }
    .margin-s-left-15 {
        margin-left: 15px !important;
    } 
    .margin-s-left-20 {
        margin-left: 20px !important;
    } 
    .margin-s-left-30 {
        margin-left: 30px !important;
    } 
    .margin-s-left-40 {
        margin-left: 40px !important;
    }
    .margin-s-left-50 {
        margin-left: 50px !important;
    }
    .margin-s-left-60 {
        margin-left: 60px !important;
    }
    .margin-s-left-70 {
        margin-left: 70px !important;
    }
    .margin-s--80 {
        margin-left: 80px !important;
    }
    .margin-s-right-0 {
        margin-right: 0 !important;
    }
    .margin-s-right-10 {
        margin-right: 10px !important;
    }
    .margin-s-right-15 {
        margin-right: 15px !important;
    } 
    .margin-s-right-20 {
        margin-right: 20px !important;
    } 
    .margin-s-right-30 {
        margin-right: 30px !important;
    } 
    .margin-s-right-40 {
        margin-right: 40px !important;
    }
    .margin-s-right-50 {
        margin-right: 50px !important;
    }
    .margin-s-right-60 {
        margin-right: 60px !important;
    }
    .margin-s-right-70 {
        margin-right: 70px !important;
    }
    .margin-s-right-80 {
        margin-right: 80px !important;
    }
    .margin-s-left-right-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .margin-s-left-right-10 {
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
    .margin-s-left-right-15 {
        margin-left: 15px !important;
        margin-right: 15px !important;
    } 
    .margin-s-left-right-20 {
        margin-left: 20px !important;
        margin-right: 20px !important;
    } 
    .margin-s-left-right-30 {
        margin-left: 30px !important;
        margin-right: 30px !important;
    } 
    .margin-s-left-right-40 {
        margin-left: 40px !important;
        margin-right: 40px !important;
    }
    .margin-s-left-right-50 {
        margin-left: 50px !important;
        margin-right: 50px !important;
    }
    .margin-s-left-right-60 {
        margin-left: 60px !important;
        margin-right: 60px !important;
    } 
    .margin-s-left-right-70 {
        margin-left: 70px !important;
        margin-right: 70px !important;
    } 
    .margin-s-left-right-80 {
        margin-left: 80px !important;
        margin-right: 80px !important;
    }
    .text-s-size-12 {
      font-size: 12px !important;
      line-height: 1.4;
    }
    .text-s-size-16 {
        font-size: 16px !important;
        line-height: 1.4;
    }
    .text-s-size-20 {
        font-size: 20px !important;
        line-height: 1.4;
    }
    .text-s-size-25 {
        font-size: 25px !important;
        line-height: 1.4;
    }
    .text-s-size-30 {
        font-size: 30px !important;
        line-height: 1.4;
    }
    .text-s-size-40 {
        font-size: 40px !important;
        line-height: 1.4;
    }
    .text-s-size-50 {
        font-size: 50px !important;
        line-height: 1.4;
    }
    .text-s-size-60 {
        font-size: 60px !important;
        line-height: 1.4;
    }
    .text-s-size-70 {
        font-size: 70px !important;
        line-height: 1.4;
    }
} 

/* Typography */
.text-uppercase {
  text-transform: uppercase;
  line-height: 1;
}
.text-line-height-1 {
  line-height: 1;
}

/* Containers */
.text-padding {
  display: inline-block !important;
  padding: 15px 20px;
}
.text-padding-small {
  display: inline-block !important;
  padding: 7px 10px;
}


/* Custom Template Styles */
/* Containers */ 
.section-same-height {
  display: table;
  clear: both;
  width: 100%;
}
.block-same-height {
  display: table-cell;
  height: 100%;
  float: none!important
}
.section  { 
  padding: 7rem 1.25rem;
}
.section-top-padding  { 
  padding: 7rem 1.25rem 0  1.25rem;
}
.section-top-bottom-padding  { 
  padding: 4rem 0;
}
.section-head {
  padding: 14rem 1.25rem 7rem;
}
.section-head-post {
  padding: 75px 0px;
}
.section-block { 
  padding: 9rem 2.5rem;
}
.section-block-2x { 
  padding: 9rem 5rem;
}
.text-padding {
  display: inline-block !important;
  padding: 15px 20px;
}
.text-padding-small {
  display: inline-block !important;
  padding: 7px 10px;
}
.contact-image {
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    height: 600px;
    width: 100%;
}

/* Timeline */
.timeline-content::before {
   display: none;
}
             
#map {
  width: 100%;
  height: 600px;
}

@media screen and (max-width:768px) {
  .section-block-2x { 
    padding: 7rem 2.5rem;
  }
}  
.margin-left-150 {
  margin-left: 150px;
}
.margin-top-130 {
  margin-top: 130px!important;
}

/* Fade Out Overlay */
@keyframes fadeInOut {
    0% {           
        opacity: 1;
        visibility: visible;
    }
    100% {        
       opacity: 0;
       visibility: hidden;
    }
}

body {  
  padding: 20px;
  overflow-x: hidden;
} 
p {
  margin-bottom: 20px;
}
body, p { 
  color: #131313;
  font-weight: 400;
  font-family: "Josefin Sans"; 
  font-size: 19px;
  font-stretch: semi-expanded; 
}
li{ 
  color: #131313;
  font-weight: 400;
  font-family: "Josefin Sans"; 
  font-size: 19px;
  font-stretch: semi-expanded; 
	
}
 
.background-white, .background-white p, a.background-white, .background-white a, .background-white a:link, .background-white a:visited, .background-white a:hover, .background-white a:active {
  color: #000;
}
h1, .h1 {font-size: 2.1rem;}
h2, .h2 {font-size: 1.8rem;}
h3, .h3 {font-size: 1.5rem;}
h4, .h4 {font-size: 1.3rem;}
h5, .h5 {font-size: 1rem;}
h6, .h6 {font-size: 0.9rem;}
h1, .h1 {
  font-weight: 200;
  font-family: "Fira Sans", sans-serif;
  font-size: 50px;
  line-height: 1.2!important;
}
h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 300;
  font-family: "Fira Sans", sans-serif;
  line-height: 1.2!important;
}
h1.headline, .h1.headline {
  letter-spacing: 19px;
  text-transform: uppercase;
}
h2.headline, h3.headline, h4.headline, h5.headline, h6.headline, .h2.headline, .h3.headline, .h4.headline, .h5.headline, .h6.headline {  
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1.2;
}
.background-grey h1, .background-grey h2, .background-grey h3, .background-grey h4, .background-grey h5, .background-grey h6, .background-grey .h1, .background-grey .h2, .background-grey .h3, .background-grey .h4, .background-grey .h5, .background-grey .h6 {
  color: #454545;
}
.text-handwrite { 
  font-family: "Mrs Saint Delafield"!important;  
} 
.text-extra-thin {font-weight: 200;}
.text-thin {font-weight: 300;}
b, strong, .text-strong {font-weight: 600;}
.text-extra-strong {font-weight: 700;}
a.text-tag:link {
  font-size: 0.85rem;
}
.text-drop-cap {
  font-size: 75px;
  line-height: 55px;
  padding-right: 10px;
  padding-top: 10px;
  font-weight: 700;
  color: #454545;
}

blockquote:before {
  display:none;
}
blockquote {
  border-left: 1px dashed #454545;
  padding: 30px;
  margin: 40px 0;
  color: #454545;
}
blockquote cite {
  margin-top: 10px;
  color: #999;
}
hr.break {
  border-top: 1px dotted #454545;
  background: none!important;
  background-color: none!important;
}  

/* Breaks */
hr.break-small.break-center {
    margin: 25px auto;
}
hr.break-small {
  background: none!important;
  background-color: none!important;
  border-top: 2px dashed #454545;
  width: 120px;
}
hr.break {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #454545;
}
hr.break.background-white, .primary-color-white hr.break-small.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #fff;
}
hr.break.background-yellow, .primary-color-yellow hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #F1D529;
}
hr.break.background-orange, .primary-color-orange hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #E4A600;
}
hr.break.background-red, .primary-color-red hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #C81010;
}
hr.break.background-pink, .primary-color-pink hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #DE1E5E;
}
hr.break.background-purple, .primary-color-purple hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #913fd9;
}
hr.break.background-blue, .primary-color-blue hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #005881;
}
hr.break.background-light-blue, .primary-color-light-blue hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #28a5df;
}
hr.break.background-aqua, .primary-color-aqua hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #00B5A6;
}
hr.break.background-green, .primary-color-green hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #49BF4C;
}
hr.break.background-dark, .primary-color-dark hr.break.background-primary {
  background: none!important;
  background-color: none!important;
  border-top: 1px dashed #454545;
}

header.position-absolute {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
  right: 0;
  left: 0;
}
.top-bar {
    padding: 25px 40px 5px 40px;
}
.top-bar a {
    font-size: 0.9rem;
}
.sep {
    padding: 0 15px;
}
.top-bar-social li {
  border-left: 0 solid;
}
nav {
  border-bottom: 0;
  padding: 0 20px 20px 20px;
  position: relative;
  z-index: 2;
  border-top: 1px dotted rgba(255,255,255,0.3);
}
.logo-dark {
  display:none;
}
nav.fixed, .fixed nav {
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.09);
  padding: 0 2em;
}
nav.fixed .top-nav li a, .fixed nav .top-nav li a {
  color: #444;  
}
nav.fixed .logo-white, .fixed nav .logo-white {
  display:none;
}
nav.fixed .logo-dark, .fixed nav .logo-dark {
    display: block;
    width: 150px;
    margin: 17px 0 0 0;
} 
nav.fixed .left-menu, nav.fixed .right-menu {
    padding: 0;
}
.background-transparent {
  background: none;
}  
.custom-button {
  margin-top: 100px;
  margin-bottom: -20px;
  position: relative;
  z-index: 1;
}

/* Custom Dark Color */
a.text-tag:link:hover {
  background: #353030 none repeat scroll 0 0;
  border: 1px solid #353030;
}
.background-white-hightlight .top-nav .active-item > a, .background-white-hightlight .top-nav li a:hover, .background-white-hightlight .aside-nav li a:hover, 
.background-white-hightlight .aside-nav > ul > li.active-item > a:link, .background-white-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-white .background-primary-hightlight .top-nav .active-item > a, .primary-color-white .background-primary-hightlight .top-nav li a:hover, .primary-color-white .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-white .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-white .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  color: #353030;
}
.background-yellow-hightlight .top-nav .active-item > a, .background-yellow-hightlight .top-nav li a:hover, .background-yellow-hightlight .aside-nav li a:hover, 
.background-yellow-hightlight .aside-nav > ul > li.active-item > a:link, .background-yellow-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-yellow .background-primary-hightlight .top-nav .active-item > a, .primary-color-yellow .background-primary-hightlight .top-nav li a:hover, .primary-color-yellow .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-yellow .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-yellow .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  color: #353030;
}
.background-dark-hightlight .top-nav .active-item > a, .background-dark-hightlight .top-nav li a:hover, .background-dark-hightlight .aside-nav li a:hover, 
.background-dark-hightlight .aside-nav > ul > li.active-item > a:link, .background-dark-hightlight .aside-nav > ul > li.active-item > a:visited,
.primary-color-dark .background-primary-hightlight .top-nav .active-item > a, .primary-color-dark .background-primary-hightlight .top-nav li a:hover, .primary-color-dark .background-primary-hightlight .aside-nav li a:hover, 
.primary-color-dark .background-primary-hightlight .aside-nav > ul > li.active-item > a:link, .primary-color-dark .background-primary-hightlight .aside-nav > ul > li.active-item > a:visited {
  background: #353030 none repeat scroll 0 0;
}
.aside-nav.background-dark-hightlight > ul > li > a:hover, .aside-nav.background-dark-hightlight > ul > li.active-item > a:link, .aside-nav.background-dark-hightlight > ul > li.active-item > a:visited,
.primary-color-dark .aside-nav.background-primary-hightlight > ul > li > a:hover, .primary-color-dark .aside-nav.background-primary-hightlight > ul > li.active-item > a:link, .primary-color-dark .aside-nav.background-primary-hightlight > ul > li.active-item > a:visited {
  border-color: #353030;
}
.background-white h1, .background-white h2, .background-white h3, .background-white h4, .background-white h5, .background-white h6,
.background-white .h1, .background-white .h2, .background-white .h3, .background-white .h4, .background-white .h5, .background-white .h6, 
.primary-color-white .background-primary h1, .primary-color-white .background-primary h2, .primary-color-white .background-primary h3, .primary-color-white .background-primary h4, .primary-color-white .background-primary h5, .primary-color-white .background-primary h6,
.primary-color-white .background-primary .h1, .primary-color-white .background-primary .h2, .primary-color-white .background-primary .h3, .primary-color-white .background-primary .h4, .primary-color-white .background-primary .h5, .primary-color-white .background-primary .h6,
.background-yellow h1, .background-yellow h2, .background-yellow h3, .background-yellow h4, .background-yellow h5, .background-yellow h6,
.background-yellow .h1, .background-yellow .h2, .background-yellow .h3, .background-yellow .h4, .background-yellow .h5, .background-yellow .h6,
.primary-color-yellow .background-primary h1, .primary-color-yellow .background-primary h2, .primary-color-yellow .background-primary h3, .primary-color-yellow .background-primary h4, .primary-color-yellow .background-primary h5, .primary-color-yellow .background-primary h6,
.primary-color-yellow .background-primary .h1, .primary-color-yellow .background-primary .h2, .primary-color-yellow .background-primary .h3, .primary-color-yellow .background-primary .h4, .primary-color-yellow .background-primary .h5, .primary-color-yellow .background-primary .h6,
.background-yellow, .background-yellow p, a.background-yellow, a.background-yellow:visited, a.background-yellow:link, .background-yellow a, .background-yellow a:link, .background-yellow a:visited, .background-yellow a:hover, .background-yellow a:active,
.primary-color-yellow .background-primary, .primary-color-yellow .background-primary p, .primary-color-yellow a.background-primary, .primary-color-yellow a.background-primary:visited, .primary-color-yellow a.background-primary:link, .primary-color-yellow .background-primary a, .primary-color-yellow .background-primary a:link, .primary-color-yellow .background-primary a:visited, .primary-color-yellow .background-primary a:hover, .primary-color-yellow .background-primary a:active {color: #353030;} 
.text-dark, .text-dark *, .primary-color-dark .text-primary, .primary-color-dark .text-primary * {color: #000 !important;} 
.text-dark-hover:hover, .primary-color-dark .text-primary-hover:hover {color: #111111 !important;} 
.background-dark, .primary-color-dark .background-primary {
  background-color: #353030 !important;   
  color: #fff;  
}  
.background-dark h1, .background-dark h2, .background-dark h3, .background-dark h4, .background-dark h5, .background-dark h6, .background-dark .h1, .background-dark .h2, .background-dark .h3, .background-dark .h4, .background-dark .h5, .background-dark .h6, .primary-color-dark .background-primary h1, .primary-color-dark .background-primary h2, .primary-color-dark .background-primary h3, .primary-color-dark .background-primary h4, .primary-color-dark .background-primary h5, .primary-color-dark .background-primary h6, .primary-color-dark .background-primary .h1, .primary-color-dark .background-primary .h2, .primary-color-dark .background-primary .h3, .primary-color-dark .background-primary .h4, .primary-color-dark .background-primary .h5, .primary-color-dark .background-primary .h6 {color: #fff;}
.button.button-white-stroke:hover, a.button.button-white-stroke:hover,
.primary-color-white .button.button-primary-stroke:hover, .primary-color-white a.button.button-primary-stroke:hover {color: #353030;}
.button.button-yellow-stroke:hover, a.button.button-yellow-stroke:hover,
.primary-color-yellow .button.button-primary-stroke:hover, .primary-color-yellow a.button.button-primary-stroke:hover {color: #353030;}
.button.button-dark-stroke, a.button.button-dark-stroke, a.button.button-dark-stroke:link, a.button.button-dark-stroke:visited,
.primary-color-dark .button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke:link, .primary-color-dark a.button.button-primary-stroke:visited {
  border: 1px solid #353030;
  color: #353030;
}
.button.button-dark-stroke, a.button.button-dark-stroke, a.button.button-dark-stroke:link, a.button.button-dark-stroke:visited,
.primary-color-dark .button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke:link, .primary-color-dark a.button.button-primary-stroke:visited {
  border: 1px solid #353030;
  color: #353030;
}
.button.button-dark-stroke:hover, a.button.button-dark-stroke:hover,
.primary-color-dark .button.button-primary-stroke:hover, .primary-color-dark a.button.button-primary-stroke:hover {background: #353030 none repeat scroll 0 0; }
a.tab-label, a.tab-label:link, a.tab-label:visited,
.background-white a.tab-label, .background-white a.tab-label:link, .background-white a.tab-label:visited {color: #6b6b6b;}
a.tab-label, a.tab-label:link, a.tab-label:visited,
.background-white a.tab-label, .background-white a.tab-label:link, .background-white a.tab-label:visited, .background-white a.tab-label:hover {background: #fff none repeat scroll 0 0;}
a.tab-label.active-btn, a.tab-label:hover, .background-white-hightlight a.tab-label.active-btn, .background-white-hightlight a.tab-label:hover,
.primary-color-white .background-primary-hightlight a.tab-label.active-btn, .primary-color-white .background-primary-hightlight a.tab-label:hover {color: #000;}
.background-yellow-hightlight a.tab-label.active-btn, .background-yellow-hightlight a.tab-label:hover,
.primary-color-yellow .background-primary-hightlight a.tab-label.active-btn, .primary-color-yellow .background-primary-hightlight a.tab-label:hover {color: #353030;}
.background-dark-hightlight a.tab-label.active-btn, .background-dark-hightlight a.tab-label:hover,
.primary-color-dark .background-primary-hightlight a.tab-label.active-btn, .primary-color-dark .background-primary-hightlight a.tab-label:hover {background: #353030 none repeat scroll 0 0;}
.background-dark, .background-dark p, a.background-dark, a.background-dark:visited, a.background-dark:link, .background-dark a, .background-dark a:link, .background-dark a:visited, .background-dark a:hover, .background-dark a:active, .primary-color-dark .background-primary, .primary-color-dark .background-primary p, .primary-color-dark a.background-primary, .primary-color-dark a.background-primary:visited, .primary-color-dark a.background-primary:link, .primary-color-dark a.background-primary:visited, .primary-color-dark .background-primary a, .primary-color-dark .background-primary a:link, .primary-color-dark .background-primary a:visited, .primary-color-dark .background-primary a:hover, .primary-color-dark .background-primary a:active {color: #999;}
.background-dark.background-transparent, .primary-color-dark .background-primary.background-transparent {background-color: rgba(34, 26, 26, 0.85) !important;}


.logo img {
  margin: 20px 0 0 20px;
  width: 150px;
  position: relative;
}
.top-nav li a {
  color: #000;
  background: #fff;
  font-weight: 500;
  padding: 10px 15px;
  position: relative;
  text-transform: uppercase;
  font-size: 0.95rem;
  letter-spacing: 2px;
  transition: all 0.20s linear 0s;
-o-transition: all 0.20s linear 0s;
-ms-transition: all 0.20s linear 0s;
-moz-transition: all 0.20s linear 0s;
-webkit-transition: all 0.20s linear 0s;
} 

.top-nav ul ul {
  background: #fff none repeat scroll 0 0;
}
.top-nav li ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.top-nav li ul li:last-child {
  border-bottom: 0;
}
.top-nav li ul li a, .background-white .top-nav li ul li a, .top-nav .active-item li a {
  background: #fff none repeat scroll 0 0;
  color: rgba(0,0,0, 0.75);
}
.top-nav .active-item a, .top-nav li a:hover {
  background: #fff;
  color: #A70000;
  border-bottom: 0;
}
.top-nav li li a {
  border-bottom: 0!important;
}
.top-nav li li.active-item a, .top-nav li li a:hover {
  font-weight: 600;
}
.top-nav li a {
  position: relative;
}
.top-nav li a::before {
  content: '';
  display: block;
  margin: 0;
  height: 2px;
  width: 0px;
  background: #fff;
  transition: all 0.2s linear;
  margin-top: 0px;
  position: relative;
  top: 46px;  
}
.top-nav li.active-item a::before {
  content: '';
  display: block;
  margin: 0;
  height: 2px;
  width: 100%;
  background: #fff;
  margin-top: 0px;
  position: relative;
  top: 46px;
}
.top-nav li a:hover::before {
  width: 100%;
}
.top-nav li li a::before {
  display: none!important; 
}



/* Custom form */
#transfer-form input, #transfer-form textarea, #quote-form input, #quote-form textarea  {
  border: 0 !important;
  background: rgba(0,0,0,0) !important;
  border-bottom: 1px dashed rgb(130, 130, 130) !important;
  color: #292929;
  font-size: 15px !important;
}
#transfer-form .required{
  border-bottom: 1px dashed #dd442c !important;
}
a.captcha-button, #quote-form {
  background: rgba(255,255,255,0.2)!important;
}
form.customform a.captcha-button, form.customform button {
  height: auto;
  text-transform: uppercase;
  font-size: 17px;
}

/* Aside Navigation */
.aside-nav > ul > li > a:hover, .aside-nav > ul > li.active-item > a:link, .aside-nav > ul > li.active-item > a:visited {
  border-width: 0 0 0 1px;
  left: -1px;
  padding-left: 20px;
  position: relative;
}
section, header {
  position:relative;
}
.frame-block {
  padding: 50px;
  border: 10px #fff solid;
}
.arrow-object {
  position: absolute;
  bottom: -1px;
  width: 100%;
  left: 0;
} 
@media screen and (max-width:480px) {
  .aside-nav li a {text-align: left;}
}
	
/* Portfolio Tabs */
.tab-nav.line {
  padding-bottom: 2rem;
}
.tab-item {
  background: none;
}
a.tab-label, a.tab-label:link, a.tab-label:visited, a.tab-label:hover, .background-white a.tab-label, .background-white a.tab-label:link, .background-white a.tab-label:visited, .background-white a.tab-label:hover {
  background: none;
}

/* Carousel Navigation*/
.owl-dots {
  margin-top: 1.25rem;
}
.owl-carousel .owl-dot span {
  background: #454545;
  height: 1px;
  margin: 0 2px;
  width: 40px;
  border-radius: 0;
  filter: Alpha(Opacity=30);
  opacity: 0.3;
}
.background-dark .owl-carousel .owl-dot span {
  background: #fff;
}
.owl-carousel.text-left .owl-dots {
    text-align: left;
}
.owl-carousel .owl-nav div {
  border: 0 none;
  color: #454545 !important;
  font-family: sli;
  font-size: 20px;
  height: auto;
  line-height: 0;
  width: auto;
}
.nav-white.owl-carousel .owl-nav div {
  color: #fff !important;
}
.nav-white.owl-carousel .owl-dot span {
  background: #fff !important;
}
.owl-carousel .owl-nav .owl-prev {
    left: 10px;
}
.owl-carousel .owl-nav .owl-next {
    right: 10px;
}
.carousel-nav-white.owl-carousel .owl-nav div {
  border: 0;
}
.carousel-main .owl-item img.arrow-object {
  width: 100% !important;
}
.owl-carousel .background-image-zoom-out {
    min-height: 850px;
}
.background-image {
  position: relative;
  top: 0;
  bottom: 0;
  min-height: 600px;
  width: 100%;
  right: 0;
  left: 0; 
  z-index: -1;
}
.background-image-object {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  right: 0;
  left: 0; 
  z-index: -1;
}
.owl-item .background-image-zoom-out .background-image.background-image-object {
	transform: scale(1.2, 1.2);
	transition: all 20s linear 0s;
	-o-transition: all 20s linear 0s;
	-ms-transition: all 20s linear 0s;
	-moz-transition: all 20s linear 0s;
	-webkit-transition: all 20s linear 0s;
}
.owl-item.active .background-image-zoom-out .background-image.background-image-object {
	transform: scale(1, 1);
	transition: all 9s linear 0s;
	-o-transition: all 9s linear 0s;
	-ms-transition: all 9s linear 0s;
	-moz-transition: all 9s linear 0s;
	-webkit-transition: all 9s linear 0s;
}
.owl-item .background-image-zoom-in .background-image.background-image-object {
	transform: scale(1, 1);
	transition: all 20s linear 0s;
	-o-transition: all 20s linear 0s;
	-ms-transition: all 20s linear 0s;
	-moz-transition: all 20s linear 0s;
	-webkit-transition: all 20s linear 0s;
}
.owl-item.active .background-image-zoom-in .background-image.background-image-object {
	transform: scale(1.2, 1.2);
	transition: all 9s linear 0s;
	-o-transition: all 9s linear 0s;
	-ms-transition: all 9s linear 0s;
	-moz-transition: all 9s linear 0s;
	-webkit-transition: all 9s linear 0s;
}
.nav-bottom.owl-carousel .owl-nav div {
  position: relative;
  background: #353030;
  left: 0;
  right: 0;
  opacity: 1;
  width: 50px;
  height: 50px;
  display: inline-block;
  line-height: 50px;
  bottom: 0;
  color: #fff !important;
}
.nav-bottom.owl-carousel .owl-nav {
  position: absolute;
  bottom: 0;
  width: 100px;
  left: 50%;
  margin-left: -50px;
  display: block!important;
}
.nav-bottom.nav-white.owl-carousel .owl-nav div {
  background: #fff;
  color: #353030 !important;
}
.carousel-blocks {
    padding: 0;
}
.background-image-zoom-out {
  position: relative;
  overflow: hidden;
}

.image-text-overlay {
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.image-text-overlay-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 70%;
  transition: all 0.20s linear 0s;
  -o-transition: all 0.20s linear 0s;
  -ms-transition: all 0.20s linear 0s;
  -moz-transition: all 0.20s linear 0s;
  -webkit-transition: all 0.20s linear 0s;
  transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.image-with-text-overlay {
  display: block;
  position: relative;
}

.tabs-nav-left .tab-nav.line {
    display: block;
}

/* Hover Zoom */
.hover-zoom {  
  display: inline-block;
  width: 100%;
	transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.3);
  -moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.3);
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.3);
  transition: all 0.2s ease-in-out 0s;
	-o-transition: all 0.2s ease-in-out 0s;
	-ms-transition: all 0.2s ease-in-out 0s;
	-moz-transition: all 0.2s ease-in-out 0s;
	-webkit-transition: all 0.2s ease-in-out 0s;
  
}
.hover-zoom:hover {
	transform: scale(1.03, 1.03);
  -webkit-transform: scale(1.03, 1.03);
  -webkit-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.3);
  -moz-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.3);
  box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.3);
  position: relative;
  z-index: 1;
} 
/* Stroke Buttons */ 
.button.button-white-stroke, a.button.button-white-stroke, a.button.button-white-stroke:link, a.button.button-white-stroke:visited,
.primary-color-white .button.button-primary-stroke, .primary-color-white a.button.button-primary-stroke, .primary-color-white a.button.button-primary-stroke:link, .primary-color-white a.button.button-primary-stroke:visited,
.button.button-red-stroke, a.button.button-red-stroke, a.button.button-red-stroke:link, a.button.button-red-stroke:visited,
.primary-color-red .button.button-primary-stroke, .primary-color-red a.button.button-primary-stroke, .primary-color-red a.button.button-primary-stroke:link, .primary-color-red a.button.button-primary-stroke:visited,
.button.button-dark-stroke, a.button.button-dark-stroke, a.button.button-dark-stroke:link, a.button.button-dark-stroke:visited,
.primary-color-dark .button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke, .primary-color-dark a.button.button-primary-stroke:link, .primary-color-dark a.button.button-primary-stroke:visited {
  border-width: 2px;
}


.section-shift-top {
    margin-top: -100px;
}

/* Accordion */
.accordion-title {
  font-size: 1.1rem;
  font-weight: 600;
  padding: 15px;
  margin: 5px 0;
  border-radius: 3px;
}
.accordion-title::before {
  background: none !important;
  color: #fff;
  font-size: 12px;
  top: -1px;
  border: 2px solid #fff;
}

/* Buttons */
.button, a.button, a.button:link, a.button:visited {
  border: 0;
  font-size: 16px;
}
.circle-button {
  width: 35px;
  height: 35px;
  line-height: 35px;
  display: inline-block;
  border-radius: 20px;
  text-align: center;
  font-size: 15px;
  position: relative;
  float: right;
  margin-bottom: -35px;
  right: -35px;
  margin-top: -43px;
}

/* Image blocks */
.image-hover-zoom img {
  transition: all 0.50s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  -o-transition: all 0.50s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  -ms-transition: all 0.50s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  -moz-transition: all 0.50s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  -webkit-transition: all 0.50s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}
.owl-carousel .owl-item .image-testimonial-small {
  margin: 0 auto 20px;
  width: auto;
}
video {
  width: 100%;
}
.border-image {
  border-bottom: 2px solid;
} 
/* Hover Overlay */
.image-hover-overlay {
  bottom: 15px;
  left: 15px;
  right: 15px;
  top: 15px;
}
.image-border-radius .image-hover-overlay {
  border-radius: 0;
}

/* Tabs */
a.tab-label {
    background: none;
    border: 2px solid rgba(0,0,0,0);
    color: #fff !important;
    font-size: 1.1rem;
    letter-spacing: 2px;
}
a.tab-label.active-btn, a.tab-label:hover {
    background: none;
    border: 2px solid #fff;
    color: #fff !important;
}
.background-white a.tab-label, .background-yellow a.tab-label {
    background: none;
    border: 2px solid rgba(0,0,0,0);
    color: #353030 !important;
}
.background-white a.tab-label.active-btn, .background-white a.tab-label:hover, .background-yellow a.tab-label.active-btn, .background-yellow a.tab-label:hover {
    background: none;
    border: 2px solid #353030;
    color: #353030 !important;
}



/* Icons */
i.icon-circle {
  border-width: 2px;
  border-style: dotted;
  font-size: 32px;
  margin-bottom: 25px;
}




@media screen and (max-width:768px) {
  header.position-absolute {
    background: #fff none repeat scroll 0 0;
    position: relative;
  }
  .padding-2x {
    padding: 1.25rem !important;
  }
  .logo img {
    max-width: 172px;
    max-height: 40px;
    margin: 0 auto; 
    width: auto;
    top: 0;
  } 
  .logo {
    height: 60px;
    display: block;
  }  
  .nav-text::after {
    color: #454545;
  }
  .nav-text {
    margin-right: 0;
  }
  .fixed {
    position: relative;
    z-index: 10;
  }
  .fixed .nav-text::after {
    color: #454545;
  }  
  .top-nav, .nav-text, .top-nav li a, .background-white .top-nav li a {
    background: none repeat scroll 0 0 #454545;
  }
  .logo-menu {
    display: none;
  }
  .logo-white {
    display:none!important;
  }
  nav.fixed .logo-dark, .fixed nav .logo-dark, .logo-dark {
    display:block;
    width: auto;
  } 
  nav {
    padding: 0!important;
    height: auto;
  }
  .left-menu, .right-menu {
    width: 100%;
    padding-top: 0;
  }
  .top-nav.left-menu, .top-nav.right-menu {
    position: relative;
    z-index: 10;
    left: 0;
    width: 100% !important;
  }
  .top-nav.left-menu {
    padding-top:60px;
  }
  .margin-top-130 {
    margin-top: 0!important;
  }
  .carousel-3-blocks {
    padding: 0;
  }
  .padding-3x {
    padding: 30px !important;
  }
  .section.background-image {
	max-width: 100%;
	height: auto;  
	
  }    
  nav.background-transparent.background-transparent-hightlight .s-12.l-2 {
    width: 100%;
  }
}

@media screen and (max-width:480px) {
  .text-right {
    text-align: left!important;
  }
  .right {
    float: left!important;
  } 

 .section.background-image {
	max-width: 100%;
	 height: auto;  
}
.line-full-width:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  overflow: hidden;
  visibility: hidden;
}
}

/* Mobile tap target improvement */
a,
button {
  padding: 12px 16px;
}

/* ==========================================================
   Highland Guns homepage redesign
   Namespaced to avoid changing existing interior pages.
   ========================================================== */
.hg-page {
  --hg-red: #a70d12;
  --hg-red-dark: #79090d;
  --hg-ink: #151515;
  --hg-charcoal: #202020;
  --hg-muted: #f2f1ee;
  --hg-line: #d8d6d1;
  --hg-white: #fff;
  margin: 0;
  background: var(--hg-white);
  color: var(--hg-ink);
  font-family: "Cairo", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
.hg-page *, .hg-page *::before, .hg-page *::after { box-sizing: border-box; }
.hg-page img { display: block; max-width: 100%; }
.hg-page p { margin: 0; color: inherit; font-size: 1rem; line-height: 1.65; }
.hg-page h1, .hg-page h2, .hg-page h3 { margin: 0; color: inherit; font-weight: 800; line-height: 1.1; }
.hg-page h1 { max-width: 800px; font-size: clamp(2.5rem, 5.5vw, 5rem); letter-spacing: -.04em; }
.hg-page h2 { font-size: clamp(2rem, 3.8vw, 3.5rem); letter-spacing: -.035em; }
.hg-page h3 { font-size: 1.35rem; }
.hg-page a { color: inherit; font-weight: 700; }
.hg-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.hg-skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; transform: translateY(-160%); background: var(--hg-white); color: var(--hg-ink); }
.hg-skip-link:focus { transform: translateY(0); }

.hg-utility { background: #0f0f0f; color: #fff; }
.hg-utility__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hg-utility__inner p, .hg-utility__links a { font-size: .78rem; letter-spacing: .02em; }
.hg-utility__links { display: flex; align-items: center; gap: 22px; }
.hg-utility__links a { padding: 5px 0; color: #fff; text-decoration: none; }
.hg-nav { position: relative; z-index: 100; padding: 0; border: 0; background: #fff; box-shadow: 0 2px 16px rgba(0,0,0,.08); }
.hg-nav__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.hg-logo { display: block; flex: 0 0 auto; padding: 8px 0; }
.hg-logo img { width: 220px; height: auto; }
.hg-nav__menu, .hg-nav__links { display: flex; align-items: center; }
.hg-nav__menu { gap: 22px; }
.hg-nav__links { gap: 4px; margin: 0; padding: 0; list-style: none; }
.hg-nav__links a { position: relative; display: block; padding: 12px 10px; color: #222; font-size: .84rem; text-decoration: none; white-space: nowrap; }
.hg-nav__links a::after { position: absolute; right: 10px; bottom: 5px; left: 10px; height: 2px; background: var(--hg-red); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.hg-nav__links a:hover::after, .hg-nav__links a:focus-visible::after, .hg-nav__links a[aria-current="page"]::after { transform: scaleX(1); }
.hg-menu-toggle { display: none; border: 0; background: none; color: var(--hg-ink); font: inherit; font-weight: 800; }
.hg-menu-toggle__icon, .hg-menu-toggle__icon::before, .hg-menu-toggle__icon::after { display: block; width: 24px; height: 2px; background: currentColor; }
.hg-menu-toggle__icon { position: relative; margin-left: 8px; }
.hg-menu-toggle__icon::before, .hg-menu-toggle__icon::after { position: absolute; left: 0; content: ""; }
.hg-menu-toggle__icon::before { top: -7px; }
.hg-menu-toggle__icon::after { top: 7px; }

.hg-button, .hg-page a.hg-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 22px; border: 2px solid var(--hg-red); background: var(--hg-red); color: #fff; font-size: .85rem; font-weight: 800; letter-spacing: .025em; text-align: center; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.hg-button:hover, .hg-button:focus-visible { border-color: var(--hg-red-dark); background: var(--hg-red-dark); color: #fff; transform: translateY(-2px); }
.hg-button--small, .hg-page a.hg-button--small { min-height: 42px; padding: 9px 16px; white-space: nowrap; }
.hg-button--outline, .hg-page a.hg-button--outline { border-color: #fff; background: transparent; color: #fff; }
.hg-button--outline:hover, .hg-button--outline:focus-visible { background: #fff; color: var(--hg-ink); }
.hg-button--dark-outline, .hg-page a.hg-button--dark-outline { border-color: var(--hg-ink); background: transparent; color: var(--hg-ink); }
.hg-button--dark-outline:hover, .hg-button--dark-outline:focus-visible { background: var(--hg-ink); color: #fff; }
.hg-button-group { display: flex; flex-wrap: wrap; gap: 12px; }

.hg-hero { position: relative; min-height: 560px; height: min(700px, 62vw); display: grid; align-items: center; overflow: hidden; color: #fff; isolation: isolate; }
.hg-hero__image, .hg-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hg-hero__image { z-index: -2; object-fit: cover; object-position: center; }
.hg-hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.87) 0%, rgba(0,0,0,.62) 48%, rgba(0,0,0,.1) 100%); }
.hg-hero__content { padding-block: 72px; }
.hg-eyebrow { margin-bottom: 13px !important; color: var(--hg-red) !important; font-size: .8rem !important; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hg-hero .hg-eyebrow { color: #ff7378 !important; }
.hg-hero__lead { max-width: 650px; margin: 22px 0 30px !important; font-size: clamp(1.05rem, 1.8vw, 1.3rem) !important; }
.hg-hero__tagline { margin-top: 12px !important; font-size: clamp(1.35rem, 2.4vw, 2rem) !important; line-height: 1.25 !important; }
.hg-hero__lead { margin-bottom: 12px !important; }
.hg-hero__license { margin-bottom: 28px !important; font-size: .86rem !important; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }

.hg-alert { background: var(--hg-red); color: #fff; }
.hg-alert__inner { min-height: 76px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding-block: 15px; }
.hg-alert__inner strong { font-size: .95rem; }
.hg-alert__inner p { font-size: .88rem; }
.hg-alert__inner a { padding: 8px 0; color: #fff; font-size: .84rem; white-space: nowrap; }

.hg-social-section { padding-top: 78px; padding-bottom: 78px; background: #fff; }
.hg-instagram-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.hg-instagram-tile { position: relative; display: block; min-width: 0; padding: 0 !important; overflow: hidden; border: 1px solid var(--hg-line); background: #111; color: #fff !important; text-decoration: none; box-shadow: 0 8px 25px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.hg-instagram-tile::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.82) 100%); content: ""; pointer-events: none; }
.hg-instagram-tile img { width: 100%; aspect-ratio: 1 / 1; display: block; object-fit: cover; object-position: center; transition: transform .3s ease; }
.hg-instagram-tile span { position: absolute; z-index: 1; right: 15px; bottom: 13px; left: 15px; color: #fff; font-size: .78rem; font-weight: 800; overflow-wrap: anywhere; }
.hg-instagram-tile:hover, .hg-instagram-tile:focus-visible { box-shadow: 0 14px 34px rgba(0,0,0,.15); transform: translateY(-4px); }
.hg-instagram-tile:hover img, .hg-instagram-tile:focus-visible img { transform: scale(1.04); }

.hg-section { padding: 96px 0; }
.hg-section--dark { background: var(--hg-charcoal); color: #fff; }
.hg-section--muted { background: var(--hg-muted); }
.hg-section--cta { padding: 68px 0; background: #111; color: #fff; }
.hg-section-heading { max-width: 720px; margin-bottom: 46px; }
.hg-section-heading > p:last-child { margin-top: 18px; color: #545454; font-size: 1.08rem; }
.hg-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.hg-card-grid { display: grid; gap: 22px; }
.hg-card-grid--three { grid-template-columns: repeat(3, 1fr); }
.hg-card { position: relative; min-height: 305px; display: flex; flex-direction: column; padding: 34px; border: 1px solid var(--hg-line); background: #fff; box-shadow: 0 8px 32px rgba(0,0,0,.045); }
.hg-card__number { margin-bottom: 42px; color: var(--hg-red); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.hg-card p { margin: 16px 0 24px; color: #565656; }
.hg-text-link { margin-top: auto; padding: 4px 0 !important; color: var(--hg-red) !important; font-size: .9rem; text-decoration: none; }
.hg-text-link:hover { text-decoration: underline; }
.hg-service-list { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #555; }
.hg-service { padding: 28px 24px 8px 0; border-right: 1px solid #555; }
.hg-service + .hg-service { padding-left: 24px; }
.hg-service:last-child { border-right: 0; }
.hg-service h3 { color: #fff; }
.hg-service p { margin-top: 15px; color: #c9c9c9; font-size: .92rem; }

.hg-feature { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(35px, 7vw, 90px); align-items: center; }
.hg-feature__content > p:not(.hg-eyebrow) { max-width: 590px; margin: 22px 0 28px; color: #505050; }
.hg-feature__panel { padding: 34px; background: #fff; box-shadow: 0 16px 50px rgba(0,0,0,.08); }
.hg-link-list { margin: 18px 0 0; padding: 0; list-style: none; }
.hg-link-list li { border-top: 1px solid #ddd; }
.hg-link-list a { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; color: var(--hg-ink); text-decoration: none; }
.hg-link-list a:hover { color: var(--hg-red); }
.hg-disclaimer { margin-top: 18px !important; color: #666 !important; font-size: .75rem !important; }
.hg-shop-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hg-shop-cta > div { max-width: 750px; }
.hg-shop-cta p:not(.hg-eyebrow) { margin-top: 14px; color: #c8c8c8; }
.hg-visit { display: grid; grid-template-columns: 1.4fr .75fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.hg-visit > div > p:not(.hg-eyebrow) { max-width: 660px; margin: 20px 0 28px; color: #545454; }
.hg-visit__details, .hg-footer__contact { display: flex; flex-direction: column; font-style: normal; }
.hg-visit__details { padding: 30px; border-left: 4px solid var(--hg-red); background: var(--hg-muted); }
.hg-visit__details strong { margin-bottom: 12px; font-size: 1.2rem; }
.hg-visit__details a { padding: 4px 0; color: var(--hg-red); }

.hg-footer { background: #171717; color: #ddd; }
.hg-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 45px; padding-block: 68px; }
.hg-footer__brand img { width: 210px; height: auto; margin-bottom: 18px; }
.hg-footer__brand p { max-width: 280px; color: #aaa; font-size: .9rem; }
.hg-footer__social { display: flex; gap: 16px; margin-top: 18px; }
.hg-footer__social a { padding: 5px 0; color: #fff; font-size: .82rem; }
.hg-footer__heading { margin-bottom: 17px !important; color: #fff !important; font-size: .9rem !important; letter-spacing: .08em; text-transform: uppercase; }
.hg-footer__links { margin: 0; padding: 0; list-style: none; }
.hg-footer__links a, .hg-footer__contact a { display: inline-block; padding: 5px 0; color: #bbb; font-size: .86rem; text-decoration: none; }
.hg-footer__links a:hover, .hg-footer__contact a:hover { color: #fff; }
.hg-footer__contact span { color: #aaa; font-size: .86rem; }
.hg-footer__contact a:first-of-type { margin-top: 10px; }
.hg-footer__bottom { border-top: 1px solid #393939; }
.hg-footer__bottom .hg-container { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hg-footer__bottom p, .hg-footer__bottom a { color: #8f8f8f; font-size: .75rem; }
.hg-footer__bottom a { padding: 0; }

@media (max-width: 1060px) {
  .hg-nav__inner { min-height: 78px; }
  .hg-menu-toggle { display: flex; align-items: center; margin-left: auto; padding: 12px; }
  .hg-nav__menu { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; padding: 20px; background: #fff; border-top: 1px solid #ddd; box-shadow: 0 18px 24px rgba(0,0,0,.12); }
  .hg-nav__menu.is-open { display: block; }
  .hg-nav__links { display: block; }
  .hg-nav__links a { padding: 13px 8px; border-bottom: 1px solid #eee; font-size: .95rem; }
  .hg-nav__menu .hg-button { width: 100%; margin-top: 16px; }
  .hg-service-list { grid-template-columns: repeat(2, 1fr); }
  .hg-service:nth-child(2) { border-right: 0; }
  .hg-service:nth-child(n+3) { margin-top: 20px; border-top: 1px solid #555; }
  .hg-footer__grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
  .hg-footer__grid > div:last-child { grid-column: 2; }
  .hg-instagram-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .hg-container { width: min(100% - 30px, 1180px); }
  .hg-utility__inner > p { display: none; }
  .hg-utility__inner { justify-content: center; }
  .hg-utility__links { width: 100%; justify-content: space-between; gap: 10px; }
  .hg-utility__links a { font-size: .68rem; }
  .hg-logo img { width: 178px; }
  .hg-hero { min-height: 620px; height: auto; }
  .hg-hero__overlay { background: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.55)); }
  .hg-hero__content { padding-block: 70px; }
  .hg-button-group .hg-button { width: 100%; }
  .hg-alert__inner { display: block; padding-block: 20px; }
  .hg-alert__inner p { margin: 7px 0; }
  .hg-section { padding: 68px 0; }
  .hg-card-grid--three, .hg-feature, .hg-visit { grid-template-columns: 1fr; }
  .hg-card { min-height: 265px; }
  .hg-section-heading--split, .hg-shop-cta { align-items: flex-start; flex-direction: column; }
  .hg-service-list { grid-template-columns: 1fr; }
  .hg-service, .hg-service + .hg-service { padding: 24px 0; border-right: 0; border-top: 1px solid #555; }
  .hg-feature__panel { padding: 25px; }
  .hg-footer__grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
  .hg-footer__brand { grid-column: 1 / -1; }
  .hg-footer__grid > div:last-child { grid-column: auto; }
  .hg-instagram-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
}

@media (max-width: 460px) {
  .hg-page h1 { font-size: 2.35rem; }
  .hg-page h2 { font-size: 2rem; }
  .hg-menu-toggle > span:first-child { display: none; }
  .hg-menu-toggle__icon { margin-left: 0; }
  .hg-footer__grid { grid-template-columns: 1fr; }
  .hg-footer__brand, .hg-footer__grid > div:last-child { grid-column: auto; }
  .hg-footer__bottom .hg-container { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 16px; }
  .hg-instagram-tile span { right: 10px; bottom: 9px; left: 10px; font-size: .69rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hg-page *, .hg-page *::before, .hg-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Services page */
.hg-page-hero { padding: 105px 0 90px; background: linear-gradient(120deg, #171717, #292929); color: #fff; }
.hg-page-hero h1 { max-width: 880px; }
.hg-page-hero > .hg-container > p:not(.hg-eyebrow) { max-width: 720px; margin: 22px 0 30px; color: #d0d0d0; font-size: 1.15rem; }
.hg-anchor-nav { position: sticky; z-index: 90; top: 0; padding: 0; border: 0; background: var(--hg-red); }
.hg-anchor-nav .hg-container { display: flex; overflow-x: auto; scrollbar-width: thin; }
.hg-anchor-nav a { flex: 0 0 auto; padding: 15px 18px; color: #fff; font-size: .8rem; text-decoration: none; }
.hg-anchor-nav a:hover, .hg-anchor-nav a:focus-visible { background: var(--hg-red-dark); }
.hg-card-grid--services { grid-template-columns: repeat(3, 1fr); }
.hg-card-grid--two { grid-template-columns: repeat(2, 1fr); }
.hg-service-card { min-height: 210px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--hg-line); background: #fff; color: var(--hg-ink) !important; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hg-service-card:hover, .hg-service-card:focus-visible { border-color: var(--hg-red); box-shadow: 0 14px 38px rgba(0,0,0,.09); transform: translateY(-3px); }
.hg-service-card > span { margin-bottom: 30px; color: var(--hg-red); font-size: .75rem; letter-spacing: .1em; }
.hg-service-card p { margin-top: 13px; color: #5b5b5b; font-size: .9rem; }
.hg-service-detail { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(45px, 8vw, 110px); }
.hg-service-detail__intro { align-self: start; }
.hg-service-detail__intro > p:not(.hg-eyebrow) { margin: 20px 0 28px; color: #555; }
.hg-section--dark .hg-service-detail__intro > p:not(.hg-eyebrow) { color: #c7c7c7; }
.hg-service-detail__body { display: grid; gap: 22px; }
.hg-service-detail__body article { padding-bottom: 22px; border-bottom: 1px solid var(--hg-line); }
.hg-section--dark .hg-service-detail__body article { border-color: #4b4b4b; }
.hg-service-detail__body article p { margin-top: 12px; color: #555; }
.hg-section--dark .hg-service-detail__body article p { color: #c7c7c7; }
.hg-notice { padding: 24px !important; border: 1px solid #754b4d !important; border-left: 4px solid #e3353d !important; background: #2b2223; }
.hg-notice a { color: #fff; }
.hg-notice--light { border-color: #ddd !important; border-left-color: var(--hg-red) !important; background: var(--hg-muted); }
.hg-notice--light a { color: var(--hg-red); }
.hg-resource-link a { color: #fff; }
.hg-step-number { display: inline-block; margin-bottom: 10px; color: var(--hg-red); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.hg-fine-print { color: #666 !important; font-size: .8rem !important; }
.hg-card--compact { min-height: 230px; }
.hg-card--compact p { margin-bottom: 0; }
.hg-image-placeholder { min-height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin: -34px -34px 28px; border-bottom: 1px dashed #a9a7a2; background: linear-gradient(135deg, #e2e0dc, #f4f3f0); color: #555; text-align: center; }
.hg-image-placeholder::before { content: "+"; width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 5px; border: 2px solid var(--hg-red); border-radius: 50%; color: var(--hg-red); font-size: 1.8rem; font-weight: 400; line-height: 1; }
.hg-image-placeholder span { font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.hg-image-placeholder small { font-size: .72rem; }
.hg-image-placeholder--gunsmith { min-height: 330px; margin: 0; border: 1px dashed #aaa; }
.hg-instagram-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 18px 20px !important; border: 1px solid #ddd; background: #fff; color: var(--hg-ink) !important; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.hg-instagram-card:hover, .hg-instagram-card:focus-visible { border-color: var(--hg-red); transform: translateY(-2px); }
.hg-instagram-card__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--hg-red); color: #fff; font-size: 1.5rem; }
.hg-instagram-card small, .hg-instagram-card strong { display: block; }
.hg-instagram-card small { color: #666; font-size: .72rem; font-weight: 600; }
.hg-instagram-card strong { font-size: 1rem; }

@media (max-width: 900px) {
  .hg-card-grid--services { grid-template-columns: repeat(2, 1fr); }
  .hg-service-detail { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 600px) {
  .hg-page-hero { padding: 72px 0 65px; }
  .hg-card-grid--services, .hg-card-grid--two { grid-template-columns: 1fr; }
  .hg-anchor-nav .hg-container { width: 100%; padding-inline: 8px; }
  .hg-image-placeholder { min-height: 210px; }
}

/* Contact page */
.hg-contact-hero { padding: 100px 0 85px; background: linear-gradient(120deg, #171717, #292929); color: #fff; }
.hg-contact-hero h1 { max-width: 850px; }
.hg-contact-hero p:not(.hg-eyebrow) { max-width: 690px; margin-top: 20px; color: #d0d0d0; font-size: 1.15rem; }
.hg-contact-bar { background: var(--hg-red); color: #fff; }
.hg-contact-bar__grid { display: grid; grid-template-columns: 1.3fr .7fr 1fr; }
.hg-contact-bar__grid > a { min-width: 0; display: flex; flex-direction: column; justify-content: center; min-height: 104px; padding: 20px 28px !important; border-right: 1px solid rgba(255,255,255,.25); color: #fff !important; text-decoration: none; }
.hg-contact-bar__grid > a:last-child { border-right: 0; }
.hg-contact-bar__grid span { margin-bottom: 3px; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; opacity: .8; }
.hg-contact-bar__grid strong { font-size: .9rem; line-height: 1.45; overflow-wrap: anywhere; }
.hg-contact-bar__grid > a:hover { background: var(--hg-red-dark); }
.hg-contact-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(40px, 7vw, 90px); align-items: start; }
.hg-contact-form-panel .hg-section-heading { margin-bottom: 34px; }
.hg-contact-form { display: grid; gap: 21px; }
.hg-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hg-form-field { display: grid; gap: 7px; }
.hg-form-field label { color: var(--hg-ink); font-size: .82rem; font-weight: 800; }
.hg-form-field label span { color: var(--hg-red); }
.hg-form-field input, .hg-form-field textarea { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #b9b7b2; border-radius: 0; background: #fff; color: var(--hg-ink); font: inherit; font-size: .95rem; outline: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.hg-form-field textarea { min-height: 175px; resize: vertical; }
.hg-form-field input:focus, .hg-form-field textarea:focus { border-color: var(--hg-red); box-shadow: 0 0 0 3px rgba(167,13,18,.13); }
.hg-honeypot { position: absolute !important; top: -9999px !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.hg-checkbox { display: flex; align-items: center; gap: 10px; }
.hg-checkbox input { width: 18px; height: 18px; accent-color: var(--hg-red); }
.hg-checkbox label { font-size: .85rem; font-weight: 700; }
.hg-recaptcha-wrap { max-width: 100%; overflow-x: auto; }
.hg-contact-form__submit { width: fit-content; min-width: 180px; cursor: pointer; font-family: inherit; }



/* =========================================================
   HERO BACKGROUND IMAGES
   ========================================================= */

/* SERVICES PAGE */
.hg-page-hero--services {
  background-color: #171717;
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.88) 0%,
      rgba(0, 0, 0, 0.62) 52%,
      rgba(0, 0, 0, 0.25) 100%
    ),
    url("/img/services-hero.jpg") !important;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


/* CALIFORNIA COMPLIANCE HUB */
.hg-compliance-hero {
  padding: clamp(88px, 10vw, 135px) 0;
  color: #ffffff;

  background-color: #171717;
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.84) 0%,
      rgba(0, 0, 0, 0.58) 52%,
      rgba(0, 0, 0, 0.22) 100%
    ),
    url("/img/compliance-hero-background.png") !important;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


/* SPECIALS PAGE */
.hg-specials-hero {
  min-height: clamp(500px, 36.46vw, 700px);
  display: flex;
  align-items: center;
  padding: 70px 0;
  color: #ffffff;

  background-color: #171717;
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.86) 0%,
      rgba(0, 0, 0, 0.62) 35%,
      rgba(0, 0, 0, 0.25) 62%,
      rgba(0, 0, 0, 0.08) 100%
    ),
    url("/img/specials-banner-package-deals-v2.jpg") !important;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


/* TABLET */
@media screen and (max-width: 900px) {
  .hg-specials-hero {
    min-height: 620px;
    background-position: 64% center;
  }
}


/* MOBILE */
@media screen and (max-width: 600px) {
  .hg-page-hero--services {
    background-position: 58% center;
  }

  .hg-compliance-hero {
    padding: 72px 0;
    background-position: 58% center;
  }

  .hg-specials-hero {
    min-height: 650px;
    align-items: flex-start;
    padding: 70px 0 250px;
    background-position: 73% center;
  }
}

/* =========================================================
   CALIFORNIA COMPLIANCE HUB
   ========================================================= */

.hg-compliance-hero {
  padding: clamp(88px, 10vw, 135px) 0;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(0, 0, 0, .93), rgba(0, 0, 0, .64)),
    linear-gradient(135deg, #181818, #343434);
}

.hg-compliance-hero h1 { max-width: 900px; }
.hg-compliance-hero > .hg-container > p:not(.hg-eyebrow) { max-width: 760px; margin: 22px 0 30px; color: #ddd; font-size: 1.15rem; }
.hg-compliance-hero__actions, .hg-compliance-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hg-button--light-outline { border: 1px solid rgba(255,255,255,.75); background: transparent; color: #fff !important; }
.hg-button--light-outline:hover { border-color: #fff; background: #fff; color: #171717 !important; }

.hg-compliance-alert { border-top: 1px solid rgba(255,255,255,.16); background: var(--hg-red); color: #fff; }
.hg-compliance-alert__inner { display: grid; grid-template-columns: minmax(180px,.35fr) minmax(0,1fr); gap: 28px; align-items: center; padding-block: 24px; }
.hg-compliance-alert strong { font-size: 1.02rem; }
.hg-compliance-alert p { margin: 0 !important; color: rgba(255,255,255,.9) !important; font-size: .9rem !important; }

.hg-section-heading--center { max-width: 760px; margin-inline: auto; text-align: center; }
.hg-compliance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 42px; }
.hg-compliance-card { min-height: 235px; padding: 32px; border: 1px solid #ddd; background: #fff; color: #171717 !important; text-decoration: none !important; box-shadow: 0 12px 30px rgba(0,0,0,.05); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.hg-compliance-card:hover { transform: translateY(-4px); border-color: var(--hg-red); box-shadow: 0 18px 38px rgba(0,0,0,.1); }
.hg-compliance-card > span { color: var(--hg-red); font-size: .75rem; font-weight: 800; letter-spacing: .15em; }
.hg-compliance-card h3 { margin: 17px 0 10px; font-size: 1.25rem; }
.hg-compliance-card p { margin: 0 !important; color: #5d5d5d !important; font-size: .92rem !important; }

.hg-guide-list { display: grid; gap: 16px; margin-top: 38px; }
.hg-guide { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 28px; padding: clamp(26px,4vw,42px); border: 1px solid #ddd; border-left: 4px solid var(--hg-red); background: #fff; }
.hg-guide__number { color: #c7c7c7; font-size: 2rem; font-weight: 800; line-height: 1; }
.hg-guide h3 { margin: 0 0 10px; }
.hg-guide p { max-width: 880px; margin: 0 0 14px !important; color: #555 !important; }
.hg-guide a { color: var(--hg-red) !important; font-weight: 800; text-decoration: none !important; }
.hg-guide a:hover { text-decoration: underline !important; }
.hg-guide__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.hg-guide a.hg-guide-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; min-height: 46px; margin-top: 8px; padding: 12px 20px; border: 2px solid var(--hg-red); background: var(--hg-red); color: #fff !important; font-size: .82rem; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none !important; text-transform: uppercase; letter-spacing: .04em; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.hg-guide__actions .hg-guide-button { margin-top: 0 !important; }
.hg-guide a.hg-guide-button:hover { border-color: #171717; background: #171717; color: #fff !important; text-decoration: none !important; transform: translateY(-2px); }
.hg-guide a.hg-guide-button--outline { background: transparent; color: var(--hg-red) !important; }
.hg-guide a.hg-guide-button--outline:hover { background: #171717; color: #fff !important; }
.hg-guide a.hg-guide-button:focus-visible { outline: 3px solid rgba(181,9,17,.28); outline-offset: 3px; }

.hg-official-resources { background: #171717; color: #fff; }
.hg-official-resources .hg-section-heading p { color: #c8c8c8 !important; }
.hg-resource-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 42px; }
.hg-resource-grid a { display: flex; flex-direction: column; min-height: 130px; padding: 28px; border: 1px solid #484848; color: #fff !important; text-decoration: none !important; }
.hg-resource-grid a:hover { border-color: var(--hg-red); background: #202020; }
.hg-resource-grid strong { margin-bottom: 7px; font-size: 1.06rem; }
.hg-resource-grid span { color: #bdbdbd; font-size: .88rem; }

.hg-compliance-cta { padding: clamp(60px,8vw,95px) 0; background: #f2f1ef; }
.hg-compliance-cta__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 50px; align-items: center; }
.hg-compliance-cta h2 { max-width: 760px; margin-bottom: 15px; }
.hg-compliance-cta p:not(.hg-eyebrow) { max-width: 800px; margin: 0 !important; color: #555 !important; }
.hg-compliance-cta__actions { justify-content: flex-end; }

@media screen and (max-width: 900px) {
  .hg-compliance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hg-compliance-cta__inner { grid-template-columns: 1fr; }
  .hg-compliance-cta__actions { justify-content: flex-start; }
}

@media screen and (max-width: 640px) {
  .hg-compliance-hero { padding: 72px 0; }
  .hg-compliance-alert__inner, .hg-compliance-grid, .hg-resource-grid { grid-template-columns: 1fr; }
  .hg-guide { grid-template-columns: 1fr; gap: 15px; }
  .hg-guide__number { font-size: 1.2rem; }
  .hg-guide__actions { display: grid; grid-template-columns: 1fr; }
  .hg-guide a.hg-guide-button { width: 100%; }
  .hg-compliance-hero__actions .hg-button, .hg-compliance-cta__actions .hg-button { width: 100%; text-align: center; }
}
.hg-form-note { color: #666 !important; font-size: .75rem !important; }
.hg-contact-sidebar { display: grid; gap: 20px; }
.hg-contact-card { padding: 34px; background: var(--hg-muted); border-left: 4px solid var(--hg-red); }
.hg-contact-card h2 { font-size: 1.75rem; }
.hg-contact-card address { display: flex; flex-direction: column; margin-top: 18px; color: #555; font-style: normal; }
.hg-contact-card dl { margin: 25px 0; }
.hg-contact-card dl div { display: grid; grid-template-columns: 65px 1fr; gap: 10px; padding: 10px 0; border-top: 1px solid #d3d1cc; }
.hg-contact-card dt { color: #666; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.hg-contact-card dd { margin: 0; font-size: .86rem; overflow-wrap: anywhere; }
.hg-contact-card dd a { padding: 0; color: var(--hg-red); }
.hg-contact-note { padding: 26px; background: #202020; color: #fff; }
.hg-contact-note strong { font-size: 1.05rem; }
.hg-contact-note p { margin: 10px 0; color: #ccc; font-size: .86rem; }
.hg-contact-note a { padding: 4px 0; color: #fff; font-size: .84rem; }
.hg-map-section iframe { display: block; width: 100%; }

@media (max-width: 900px) {
  .hg-contact-bar__grid { grid-template-columns: 1fr; }
  .hg-contact-bar__grid > a { min-height: 85px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
  .hg-contact-bar__grid > a:last-child { border-bottom: 0; }
  .hg-contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .hg-contact-hero { padding: 72px 0 65px; }
  .hg-form-row { grid-template-columns: 1fr; }
  .hg-contact-card { padding: 27px; }
  .hg-contact-form__submit { width: 100%; }
  .hg-map-section iframe { height: 390px; }
}
.hg-feature__visual {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.hg-package-flyer {
  display: block;
  width: 100%;
  max-width: 620px;
  height: auto !important;
  margin: 0 auto;
  object-fit: contain;
  background: transparent;
}

@media (max-width: 900px) {
  .hg-feature__visual {
    margin-top: 30px;
  }

  .hg-package-flyer {
    max-width: 560px;
  }
}

@media (max-width: 600px) {
  .hg-package-flyer {
    max-width: 100%;
  }
}

/* Footer social media icons */
.hg-footer__social {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
}

.hg-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.hg-footer__social img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.hg-footer__social a:hover {
  background: transparent;
  transform: translateY(-2px);
  opacity: 0.75;
}

.hg-footer__social a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* =========================================================
   AGE VERIFICATION
   ========================================================= */

body.hg-age-gate-open {
  overflow: hidden;
}

.hg-age-gate {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(8px);
}

.hg-age-gate[hidden] {
  display: none;
}

.hg-age-gate__panel {
  width: min(520px, 100%);
  padding: clamp(32px, 7vw, 55px);
  border-top: 5px solid #b70912;
  background: #171717;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.55);
}

.hg-age-gate__eyebrow {
  margin: 0 0 14px;
  color: #e22630;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hg-age-gate__panel h2 {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: clamp(2rem, 7vw, 3rem);
  line-height: 1.08;
}

.hg-age-gate__message {
  margin: 0 auto 28px;
  max-width: 410px;
  color: #d6d6d6;
  font-size: 1rem;
  line-height: 1.65;
}

.hg-age-gate__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hg-age-gate__button {
  min-height: 52px;
  padding: 14px 20px;
  border: 2px solid #b70912;
  border-radius: 0;
  background: #b70912;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.hg-age-gate__button:hover,
.hg-age-gate__button:focus-visible {
  border-color: #df1822;
  background: #df1822;
}

.hg-age-gate__button--no {
  border-color: #ffffff;
  background: transparent;
}

.hg-age-gate__button--no:hover,
.hg-age-gate__button--no:focus-visible {
  border-color: #ffffff;
  background: #ffffff;
  color: #171717;
}

.hg-age-gate__notice {
  margin: 22px 0 0;
  color: #999999;
  font-size: 0.75rem;
  line-height: 1.5;
}

@media screen and (max-width: 500px) {
  .hg-age-gate__buttons {
    grid-template-columns: 1fr;
  }
}