/* **** SELF-HOSTED FONTS **** */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/css/fonts/open-sans-v44-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/css/fonts/open-sans-v44-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/css/fonts/open-sans-v44-latin-500italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/css/fonts/open-sans-v44-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/css/fonts/raleway-v37-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('/css/fonts/raleway-v37-latin-100.woff2') format('woff2');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/css/fonts/raleway-v37-latin-900.woff2') format('woff2');
}

header{
    position: relative;
    z-index: 3;
}
/* Generic Navbar Style */
/* Style for the hamburger icon */
.toggle {
    float: right;
    margin-top: 20px;
    width: 50px;
    height: 50px;
    background: #ec2028;
    padding: 13px 9px;
}

.toggle a {
    height: 25px;
    width: 32px;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: relative;
    display: inline-block;
}

.toggle a:after {
    position: absolute;
    content: "";
    border-top: 3px solid #fff;
    left: 0;
    right: 0;
    top: 8px;
}

/* Style for the close icon */
.close-img {
    display: none; /* Initially hidden */
    width: 30px; /* Adjust as needed */
    height: 30px; /* Adjust as needed */
    position: relative; /* Ensure position is set to relative or absolute for z-index to work */
    z-index: 1000; /* Set a high value to ensure it appears on top */
}

/* Hide offcanvas until deferred CSS loads */
.offcanvas { position: fixed; transform: translate(100%, 0); right: 0; }

@media (min-width: 992px){
    .offcanvas,
    .offcanvas .coff,
    .header .toggle{
      display: none  !important;
    }
  }


.m-menu-holder {
    position: relative;
    display: table;
    float: right;
}
.ham-icon-menu-holder {
    display: table;
    float: left;
    margin-right: 0;
    height: 70px;
    position: relative;
    width: 40px;
}

.menu-toggle {
  position: absolute;
  left: 0;
  top: 49%;
  transform: translate(0, -50%);
  height: 40px;
  width: 40px;
  cursor: pointer;
  z-index: 99;
}


.navbar-v11 {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.sticky-header {
  position: fixed;
  background: #fff;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
}
.navbar-v11 .topheader-holder {
  padding: 10px 0;
  background: #ec2028;
}
@media only screen and (max-width: 1023px) {
  .navbar-v11 .topheader-holder {
    border: 0;
    padding: 10px 0;
  }
}
.navbar-v11 .topheader-holder .logo {
  display: table;
  float: left;
}
.navbar-v11 .topheader-holder .logo img {
  max-width: 250px;
}
.navbar-v11 .topheader-holder .headercontact {
  display: table;
  float: left;
}
.navbar-v11 .topheader-holder .headercontact .contactholder {
  display: inline-block;
  position: relative;
  padding-left: 50px;
  margin-left: 25px;
}
.navbar-v11 .topheader-holder .btn-holder .btn {
    padding: 1em 5px;
    width: 100%;
    text-align: center;
    margin: 0;
}
.navbar-v11 .topheader-holder .headercontact .contactholder:first-child {
  margin-left: 0;
}
@media only screen and (max-width: 1199px) {
  .navbar-v11 .topheader-holder .headercontact .contactholder {
    margin-left: 5px;
  }
  .navbar-v11 .topheader-holder .headercontact .contactholder p {
    font-size: 14px;
  }
}
.navbar-v11 .topheader-holder .headercontact .contactholder .contacticon {
  height: 45px;
  width: 50px;
  display: table;
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  transition: all 0.25s ease-out;
}

.navbar-v11 .topheader-holder .headercontact .contactholder h3 {
  font-size: 16px;
  margin-bottom: 0;
}
.navbar-v11 .topheader-holder .headercontact .contactholder p {
  font-size: 14px;
  line-height: 20px;
}
.navbar-v11 .topheader-holder .headercontact .contactholder p,
.navbar-v11 .topheader-holder .headercontact .contactholder h3 a {
  color: #fff;
}
@media only screen and (max-width: 1223px) {
  .navbar-v11 .topheader-holder .headercontact .contactholder h3 {
    font-size: 13px;
  }
}

.nav-items-v11 {
  display: table;float: right;
}
.nav-items-v11 .mynav {
  width: 100%;
}
.nav-items-v11 .mynav > ul {
  display: table;
  float: left;
}
.nav-items-v11 .mynav ul > li > a {
  font-size: 18px;
}
.nav-items-v11 .mynav ul {
  padding: 0;
}
/* Dropdown panels — hidden by default, full styling in deferred custom.css */
.nav-items-v11 .mynav ul li ul { opacity:0; visibility:hidden; position:absolute; transform:scaleY(0); }
.nav-items-v11 .mynav > ul > li {
  margin-left: 50px;
  position: relative;
}
@media only screen and (max-width: 1199px) {
  .nav-items-v11 .mynav > ul > li {
    margin-left: 35px;
  }
}
.nav-items-v11 .mynav > ul > li > a {
  color: #333;
  padding-top: 47px;
  height: 100px;
  position: relative;
  text-transform: uppercase;
  border-top: 3px solid transparent;
  font-weight: 500;
}
.nav-items-v11 .mynav > ul > li > a .nav-items-icon {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: 15px;
}
.nav-items-v11 .mynav .nav-right {
  display: table;
  float: right;
  height: 100%;
}
.nav-items-v11 .mynav .nav-right li {
  display: table-cell;
  vertical-align: middle;
  float: none;
}
.nav-items-v11 .mynav .nav-right li .btn-primary {
  padding: 10px 20px;
  color: #ffffff;
  margin-left: 30px;
  min-width: 220px;
  text-align: center;
}
.nav-items-v11 .mynav .nav-right .social {
  font-size: 16px;
  height: 30px;
  width: 30px;
  text-align: center;
  padding: 0;
  line-height: 30px;
  margin-left: 20px;
}

.navbar-v11 .logo{
  display: table;
  float: left;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media (min-width: 992px){
  .navbar-v11 .logo{
    padding-top: 15px;
    padding-bottom: 0;
  }
}


.header.navbar-variant.navbar-v11 {
  width: 100%; /* Ensure it spans the full width of the viewport */
  z-index: 99;
}
.header.navbar-variant.navbar-v11 .topheader-holder,
.header.navbar-variant.navbar-v11 .nav-holder {
    position: relative;
    z-index: 9;
}
.header.navbar-variant.navbar-v11 .nav-holder {
  background: #fff;
}

.btn-white-nav {background:#FFF; border:1px solid #FFF; color:#161616; padding: 10px 10px !important; }


@media (max-width: 1060px) {
     .custom-ipad-hide.contactholder {
        display: none !important;
    }
}



/* ==========================================================
   _critical.css  –  Above-the-fold / hero / banner styles
   ========================================================== */

.subpage-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.subpage-banner picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.subpage-banner picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.subpage-banner-overlay {
  position: relative;
  z-index: 1;
  background-color: rgba(0,0,0,.2);
  width: 100%;
  padding: 80px 0 40px;
}

.subpage-banner-overlay.dark {
  background-color: rgba(0,0,0,.5);
}

.subpage-banner-overlay > .subpage-banner-grid {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 30px;
}

.subpage-banner-form {
  min-height: 475px;
}

.subpage-banner p {
  color: rgba(255,255,255,.6);
  font-style: italic;
  margin-bottom: 50px;
}

@media (max-width: 1200px) {
  .subpage-banner-form {
    min-height: 650px;
  }
}

@media (max-width: 991px) {
  .subpage-banner-overlay > .subpage-banner-grid {
    grid-template-columns: 1fr;
  }
  .subpage-banner-text,
  .subpage-banner-form {
    text-align: center;
  }
  .subpage-banner-form {
    min-height: 475px;
  }
}

@media (max-width: 767px) {
  .subpage-banner-overlay {
    padding: 40px 0 20px;
  }
  .subpage-banner-form {
    min-height: 725px;
  }
}


/* FROM MASTER + BOOTSTRAP NORMALIZE */
html{ overflow-x: hidden; font-size: 10px; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0,0,0,0);}
body{ margin: 0; overflow-x: hidden; font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff;}
img{ border: 0; vertical-align: middle;}
footer {overflow-x: hidden;}

/* Typography resets (Bootstrap base + master.css heading sizes) */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{line-height: 1.1;margin-top: 20px;margin-bottom: 10px;}
p{margin: 0 0 10px;}
ol,ul{margin-top: 0;margin-bottom: 10px;padding-left: 0;list-style: none;}
a:hover,a:focus{outline: 0;}

/* Global heading sizes from master.css */
h1, h2.h1 {font-size: 62px;color: #ffffff;text-transform: uppercase;}
@media (max-width: 991px){h1, h2.h1 {font-size: 70px;}}
@media (max-width: 767px){h1, h2.h1 {font-size: 32px;}}
h1 span.over, h2.h1 span.over {font-size: 30px;color: #ffffff;font-weight: 100;text-transform: uppercase;}

h2, h1.h2 {font-size: 55px;color: #212121;text-transform: uppercase;}
h2 span.over, h1.h2 span.over {font-size: 35px;color: #212121;font-weight: 100;text-transform: uppercase;line-height: 100%;display: block;}

h3 {font-size: 38px;}
h3 span.over {font-size: 20px;color: #212121;font-weight: 100;text-transform: uppercase;line-height: 100%;display: block;}

h4 {font-size: 29px;}
h4 span.over {font-size: 16px;font-weight: 100;text-transform: uppercase;display: block;color: #212121;}
h1,h2,h3,h4,h5,h6, .h1, .h2, .h3, .h4, .h5, .h6 {font-family: 'Raleway', sans-serif; font-weight:900}
p,ul,ol {font-family: 'Open Sans', sans-serif;font-size:16px;font-weight: normal;line-height: 26px;color: #555;}
p.lead {font-family: 'Open Sans', sans-serif; font-weight:500; font-size:18px; color:#ec2028; font-style:italic}


/* ==========================================================
   UTILITY CLASSES (pulled from dc-utilities for critical path)
   ========================================================== */

/* Back to top (hidden until JS shows it) */
#backTop{opacity: 0;visibility: hidden;}

/* Links */
a{outline: none !important;transition: all 0.7s ease-out;}
a,a:hover,a:link,a:visited,a:focus{text-decoration: none;}
a {font-family: 'Open Sans', sans-serif;color:#ec2028}
a:hover {color:#000}

/* Flexbox */
.d-flex {display: flex;}
.flex-wrap {flex-wrap: wrap;}
.justify-content-between {justify-content: space-between;}
.justify-content-around {justify-content: space-around;}

/* Table display */
.table-cell{display: table-cell;}

/* Vertical alignment */
.va-middle{vertical-align: middle;}

/* Text */
.text-center {text-align:center !important;}
.text-white {color:#FFF !important;}
.text-uppercase, .uppercase {text-transform:uppercase;}
.over {font-family: 'Open Sans', sans-serif;color:#CCCCCC; text-transform: uppercase;display:block;}

/* Spacing */
.mt-none{margin-top: 0;}
.mb-none{margin-bottom: 0;}
.mb-sm{margin-bottom:20px;}
.mtb-sm{margin-top: 20px;margin-bottom:20px;}
.ptb-xs{padding-top: 10px;padding-bottom: 10px;}
.plr-md{padding-left: 40px;padding-right: 40px;}
@media only screen and (max-width: 767px) {
  .plr-md {padding-left: 10px;padding-right: 10px;}
}

/* Positioning */
.absolute, .position-absolute {position:absolute;}
.fixed {position: fixed;}
.cover {top: 0;right: 0;bottom: 0;left: 0;}
.fill{background-position: center;background-repeat: no-repeat;background-size: cover;}

/* Lists */
.floated-list {margin-bottom: 0;}
ul.floated-list li {float: left;display: block;}
ul.floated-list li a {display: block;}

/* Clearfix */
.clearfix::before,.clearfix::after {content: " ";display: table;}
.clearfix::after {clear: both;}

/* Extra spacing utilities */
.ptb-sm{padding-top: 20px;padding-bottom:20px;}
.ptb-md{padding-top: 40px;padding-bottom: 40px;}
.ptb-lg{padding-top: 80px;padding-bottom: 80px;}
.pt-sm{padding-top:20px;}
.pb-sm{padding-bottom:20px;}
.mt-30{margin-top: 30px;}
.mtb-md{margin-top: 40px;margin-bottom: 40px;}
.mytable,.my-table{display: table;width: 100%;height: 100%;}
.overlay-black-40{background:rgba(0,0,0,.4);}


/* ==========================================================
   BOOTSTRAP CRITICAL (grid, carousel base, buttons, visibility)
   ========================================================== */

/* Box-sizing (Bootstrap 3 normalize) */
*,*:before,*:after{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}

/* Container */
.container{margin-right: auto;margin-left: auto;padding-left: 15px;padding-right: 15px;}
@media (min-width: 768px){.container{width: 750px;}}
@media (min-width: 992px){.container{width: 970px;}}
@media (min-width: 1200px){.container{width: 1170px;}}
.container-fluid{margin-right: auto;margin-left: auto;padding-left: 15px;padding-right: 15px;}
.container:before,.container:after,.container-fluid:before,.container-fluid:after{content: " ";display: table;}
.container:after,.container-fluid:after{clear: both;}

/* Row */
.row{margin-left: -15px;margin-right: -15px;}
.row:before,.row:after{content: " ";display: table;}
.row:after{clear: both;}

/* Column base (trust bar cols only — rest loads with deferred bootstrap) */
.col-xs-2,.col-xs-10,.col-sm-3,.col-sm-4,.col-sm-9,.col-lg-3,.col-lg-9{
  position: relative;min-height: 1px;padding-left: 15px;padding-right: 15px;
}

/* Trust bar column widths */
.col-xs-2{width:16.66667%;float:left;}
.col-xs-10{width:83.33333%;float:left;}
@media (min-width: 768px){
  .col-sm-3{width:25%;float:left;}
  .col-sm-4{width:33.33333%;float:left;}
  .col-sm-9{width:75%;float:left;}
}
@media (min-width: 1200px){
  .col-lg-3{width:25%;float:left;}
  .col-lg-9{width:75%;float:left;}
}

/* Responsive visibility */
@media (max-width: 767px){.hidden-xs{display:none !important;}}
@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important;}}
@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important;}}
@media (min-width: 1200px){.hidden-lg{display:none !important;}}

/* Buttons */
.btn{display: inline-block;margin-bottom: 0;text-align: center;vertical-align: middle;-ms-touch-action: manipulation;touch-action: manipulation;cursor: pointer;border: 1px solid transparent;white-space: nowrap;line-height: 1.42857;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;border-radius: 0;padding: 1em 3em;font-weight: bold;text-transform: uppercase;margin: 2.5em 0;font-size: .875em;}
.btn-primary{color: #fff;background-color: #ec2028;border-color: #ec2028;}
.btn-explore{background: #fff;border: 1px solid #ec2028;color: #161616;}

/* Images */
.img-responsive{display: block;max-width: 100%;height: auto;}


/* ==========================================================
   TRUST BAR  (includes/trust/00.cfm — used on 31 pages)
   ========================================================== */
.contact-bar-holder {
  background: rgba(0,0,0,0.8);
}
.contact-bar-holder h2 {
  text-align: center;
  font-weight: 400;
  font-size: 38px;
  color: #fff;
  line-height: 1.1;
  margin: 20px 0;
  padding: 10px 0 30px;
  position: relative;
}
.contact-bar-holder h2:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 103px;
  background: #ec2028;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}
.contact-bar-holder .contact-bar-each {
  position: relative;
  padding-left: 70px;
  color: #fff;
  display: block;
  width: 300px;
  margin: 0 auto 30px;
  padding-right: 25px;
}
@media (min-width: 992px) {
  .contact-bar-holder .contact-bar-each {
    width: 33.33%;
    float: left;
    margin-top: 20px;
    margin-bottom: 30px;
  }
}
@media (min-width: 1200px) {
  .contact-bar-holder h2 {
    text-align: right;
    border-right: 2px solid #ec2028;
    padding: 10px 0;
    padding-right: 30px;
  }
  .contact-bar-holder h2:after {
    display: none;
  }
  .contact-bar-holder .contact-bar-each {
    margin-top: 33px;
    margin-bottom: 0;
  }
}
.contact-bar-holder .contact-bar-each .cb-each-icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.contact-bar-holder .contact-bar-each .cb-each-icon img:last-child {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.contact-bar-holder .contact-bar-each span,
.contact-bar-holder .contact-bar-each p {
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}
.contact-bar-holder .contact-bar-each h3 {
  font-size: 26px;
  white-space: nowrap;
}
.hover-icon {
  display: none;
}
