/***************** Font Declarations *****************/

/* Local font faces. Font files are stored in ../fonts/. */

/* Source Sans Pro */

/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/source-sans-pro-light-italic-latin.woff2) format('woff2');
}


/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-sans-pro-regular-italic-latin.woff2) format('woff2');
}


/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/source-sans-pro-bold-italic-latin.woff2) format('woff2');
 }


/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/source-sans-pro-light-latin.woff2) format('woff2');
}


/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/source-sans-pro-regular-latin.woff2) format('woff2');
}


/* latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/source-sans-pro-semibold-latin.woff2) format('woff2');
}


/* Source Sans 3 */

/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url(../fonts/source-sans-3-variable-200-900-italic-latin.woff2) format('woff2');
 }


/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(../fonts/source-sans-3-variable-200-900-latin.woff2) format('woff2');
}


/* Coda Caption */

/* latin */
@font-face {
  font-family: 'Coda Caption';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/coda-caption-extrabold-latin.woff2) format('woff2');
}


/* PT Sans */

/* latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-sans-regular-latin.woff2) format('woff2');
}


/* latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/pt-sans-bold-latin.woff2) format('woff2');
}



:where(body.hcs-page) .red-text,
:where(body.hcs-page) a.red-text {
  color: #d31245 !important;
}

:where(body.hcs-page) .btn-red,
:where(body.hcs-page) .btn-red:hover {
  color: white;
  border-color: #d31245;
  background-color: #d31245;
}

:where(body.hcs-page) .hr-red {
  color: #d31245;
  background: #d31245;
}

:where(body.hcs-page) .gray-background {
  background-color: #ffffff;
}

:where(body.hcs-page) .white-background {
  background-color: #ffffff;
}


:where(body.hcs-page) .red-background {
  background-color: rgba(177, 84, 103, 1); 
  color: rgb(255, 255, 255);              
  transition: all 0.2s ease;
}

:where(body.hcs-page) .red-background:hover {
  background-color: rgba(211, 18, 69, 1);
  color: #ffffff;
  cursor: pointer;
}

:where(body.hcs-page) .active.red-background {
  background-color: rgba(211, 18, 69, 1);
  font-weight: bold;
  color: #ffffff;
}


:where(body.hcs-page) .blue-background {
  background-color: rgba(82, 122, 153, 1); 
  color: #ffffff;              
}

:where(body.hcs-page) .blue-background:hover {
  background-color: rgba(0, 85, 150, 1);
  color: #ffffff;
  cursor: pointer;
}

:where(body.hcs-page) .active.blue-background {
  background-color: rgba(0, 85, 150, 1);
  font-weight: bold;
  color: #ffffff;
}


:where(body.hcs-page) .blue-text {
  color: #005596;
}

:where(body.hcs-page) .btn-blue,
:where(body.hcs-page) .btn-blue:hover {
  color: white;
  border-color: #005596;
  background-color: #005596;
}

:where(body.hcs-page) .hr-blue {
  color: #005596;
  background: #005596;
}

:where(body.hcs-page) .hr-gray {
  color: #eee;
  background: #eee;
}

:where(body.hcs-page) .white-text {
  color: #fff;
}

:where(body.hcs-page) .acf-map,
:where(body.hcs-page) .acf-map-alt {
  width: 100%;
  height: 500px;
}

:where(body.hcs-page) .acf-map img {
  max-width: inherit !important;
}

:where(body.hcs-page) .map-container .tab-link {
  cursor: pointer;
}
:where(body.hcs-page) .map-container .map-border-bottom {
  border-bottom-width: 4px;
  border-bottom-style: solid;
}
:where(body.hcs-page) .map-container .map-border-bottom-red {
  border-color: rgb(211, 18, 69);
  
}
:where(body.hcs-page) .map-container .map-border-bottom-blue {
  border-color: rgb(0, 85, 150);
}
:where(body.hcs-page) .map-container .map-div {
  height: 500px;
  position: relative;
}
:where(body.hcs-page) .map-container .map-div .acf-map,
:where(body.hcs-page) .map-container .map-div .acf-map-alt {
  position: absolute;
  top: 0;
  left: -10000px;
}
:where(body.hcs-page) .map-container .agents-side-div{
    height: 500px;
    overflow-y: scroll;
}
:where(body.hcs-page) .map-container .agents-div .agents {
  display: none;
}
:where(body.hcs-page) .map-container .agents-div .agents:hover {
  cursor: pointer;
}
:where(body.hcs-page) .map-container .agents-div .agents.top {
  display: block;
}

:where(body.hcs-page) .faq-drawer {
  border-left: 1px solid #c3c3c3;
  border-right: 1px solid #c3c3c3;
  /* OPTIONAL HOVER STATE */
}
:where(body.hcs-page) .faq-drawer__content .row:last-child {
  border-bottom: none !important;
}
:where(body.hcs-page) .faq-drawer__content-wrapper {
  border-bottom: 1px solid #c3c3c3;
  font-size: 1.25em;
  line-height: 1.4em;
  max-height: 0px;
  overflow: hidden;
  transition: 0.25s ease-in-out;
}
:where(body.hcs-page) .faq-drawer__title {
  border-top: #c3c3c3 1px solid;
  border-bottom: #c3c3c3 1px solid;
  background-color: #f7f7f7;
  cursor: pointer;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  position: relative;
  transition: all 0.25s ease-out;
  line-height: 1;
}
:where(body.hcs-page) .faq-drawer__title::after {
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: " ";
  display: inline-block;
  float: right;
  height: 13px;
  width: 13px;
  position: relative;
  right: 5px;
  top: 2.5px;
  transform: rotate(135deg);
  transition: 0.35s ease-in-out;
  vertical-align: top;
}
:where(body.hcs-page) .faq-drawer__title:hover {
  color: #4e4b52;
}
:where(body.hcs-page) .faq-drawer__trigger:checked + .faq-drawer__title + .faq-drawer__content-wrapper {
  max-height: 1000px;
}
:where(body.hcs-page) .faq-drawer__trigger:checked + .faq-drawer__title::after {
  transform: rotate(-45deg);
  transition: 0.25s ease-in-out;
}
:where(body.hcs-page) .faq-drawer input[type=checkbox] {
  display: none;
}
:where(body.hcs-page) .faq-drawer .description {
  font-size: 1rem;
}

html:where(.hcs-page) {
  overflow-x: hidden;
}

body:where(.hcs-page) {
  margin: 0;
  min-height: 100vh; /* Fallback for browsers that don't support dvh */
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  font-size: 1rem;
  font-family: "Source Sans 3", sans-serif;
}

:where(body.hcs-page) .container {
  max-width: 1140px !important;
}

:where(body.hcs-page) a {
  text-decoration: none;
  color: #005596;
}

:where(body.hcs-page) .btn {
  font-weight: bold;
}

:where(body.hcs-page) img {
  width: 100%;
  height: auto;
}

:where(body.hcs-page) hr {
  height: 3px;
  font-size: 0;
  border: 0;
  width: 75%;
}
:where(body.hcs-page) .container-content hr {
  width: 100%;
}

:where(body.hcs-page) nav .hcs-menu-icon {
  width: 5rem;
  height: 5rem;
}
:where(body.hcs-page) nav ul {
  float: right;
}
:where(body.hcs-page) nav li {
  border-width: 0px !important;
  list-style: none;
}
:where(body.hcs-page) nav .top-row {
  right: 0;
}
:where(body.hcs-page) nav .top-row a {
  color: #005596;
  font-size: 1rem;
}
:where(body.hcs-page) nav .bottom-row {
  right: 0;
}
:where(body.hcs-page) nav .bottom-row a {
  font-size: 20px;

}
:where(body.hcs-page) nav .bottom-row a.tel {
  color: #d31245;
}

:where(body.hcs-page) .align-items-center-right {
  display: flex;
  align-items: center; /*Aligns vertically center */
  justify-content: right; /*Aligns horizontally center */
}

:where(body.hcs-page) .full-hero h1,
:where(body.hcs-page) .full-hero h2,
:where(body.hcs-page) .full-hero h3 {
  color: #fff;
}
:where(body.hcs-page) .full-hero h1 a,
:where(body.hcs-page) .full-hero h2 a,
:where(body.hcs-page) .full-hero h3 a {
  color: #fff;
}

:where(body.hcs-page) .top-border-icon {
  border-width: 2px !important;
  border-color: #d31245 !important;
  margin-top: 3rem;
}
:where(body.hcs-page) .top-border-icon .center-icon {
  margin-top: -2.5rem;
}
:where(body.hcs-page) .top-border-icon .center-icon img {
  width: auto;
  height: 5rem;
}

:where(body.hcs-page) footer {
  background-color: #005596;
}
:where(body.hcs-page) footer a {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
}
:where(body.hcs-page) footer ul li {
  list-style: none;
}
:where(body.hcs-page) footer .footer-text {
  font-size: 10px;
  color: #fff;
}

:where(body.hcs-page) .offcanvas li {
  list-style: none;
}
:where(body.hcs-page) .offcanvas li a {
  color: var(-bs-nav-link-color);
}

:where(body.hcs-page) .border-10 {
  border-color: #d31245 !important;
  border-width: 10px 0 0 0;
}

:where(body.hcs-page) .shadow {
  /* -webkit-box-shadow: 0px 5px 5px 0px rgba(204, 204, 204, 0.5);
  box-shadow: 0px 5px 5px 0px rgba(204, 204, 204, 0.5); */
}

:where(body.hcs-page) .redtopblackborder {
    border-style: solid;
    border-width: 12px 1px 1px 1px;   
    border-color: #d31245 #dbdbdb #dbdbdb #dbdbdb; 
    border-radius: .5rem;
}

:where(body.hcs-page) .faqquestion {
  border-bottom: 2px solid #d31245;
}

:where(body.hcs-page) h1,
:where(body.hcs-page) h2,
:where(body.hcs-page) h3,
:where(body.hcs-page) h4,
:where(body.hcs-page) h5,
:where(body.hcs-page) h6 {
  margin-bottom: 1rem;
}

:where(body.hcs-page) h1 {
  font-size: 3rem;
}

:where(body.hcs-page) h2 {
  font-size: 2.5rem;
}

:where(body.hcs-page) h3 {
  font-size: 2rem;
}

:where(body.hcs-page) h4 {
  font-size: 1.5rem;
}

:where(body.hcs-page) h5 {
  font-size: 1.25rem;
}

:where(body.hcs-page) h6 {
  font-size: 1rem;
}

:where(body.hcs-page) .modal-header,
:where(body.hcs-page) .modal-footer {
  border: none;
}

:where(body.hcs-page) li.dropdown:hover > ul.dropdown-menu {
  display: block;
}

:where(body.hcs-page) iframe {
  aspect-ratio: 16/9 !important;
  width: 100% !important;
}

:where(body.hcs-page) .align-middle {
  /* justify-content: center;
  align-items: center; */
  flex-direction: column;
}

/* ######### Overrides - Template Styles ######### */
/* HCS overrides live here. Original template style blocks remain commented. */
/* Base selectors are scoped to HCS pages so the kiosk loads only its own rules. */

/* ### Overrides - maps.php ### */
/* Source: hcs/components/maps.php */
/* Every generated map has .acf-map-alt; .top selects the active tab. */
:where(body.hcs-page) .map-container .map-div .acf-map-alt.top  {
    left: 0;
}

/* ### Overrides - header.php ### */
/* Source: hcs/header.php */
:where(body.hcs-page) #quotecontainer .sd-btn--action:hover  {
    background-color: #ffffff !important;
    color: #224f7b !important;
}

/* ### Overrides - page-contact-kiosk-embed.php ### */
/* Source: hcs/page-contact-kiosk-embed.php */
/* Source: templates/page-contact-kiosk-embed.php */
html:where(.ofbf-template-page-contact-kiosk-embed), body:where(.ofbf-template-page-contact-kiosk-embed)  {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow-y: scroll;
}

:where(body.ofbf-template-page-contact-kiosk-embed) .sd-title.sd-container-modern__title .sd-logo__image  {
    height: 100px;
}

/* ######### END Template Overrides ######### */

/* ######### Overrides - PROD appearance with Bootstrap 5.0.2 ######### */
/* PROD uses different nav-link defaults. Keep its appearance without loading 5.3. */

/* Nested containers should use a half gutter, even inside a Bootstrap row. */
:where(body.hcs-page) .container,
:where(body.hcs-page) .container-fluid {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
}

/* This 5.0.2 build places generic responsive columns before .col-12.
   Reassert their flex sizing so combined col-12/col-md classes match PROD. */
@media (min-width: 576px) {
  :where(body.hcs-page) .col-sm { flex: 1 0 0%; }
}
@media (min-width: 768px) {
  :where(body.hcs-page) .col-md { flex: 1 0 0%; }
}
@media (min-width: 992px) {
  :where(body.hcs-page) .col-lg { flex: 1 0 0%; }
}
@media (min-width: 1200px) {
  :where(body.hcs-page) .col-xl { flex: 1 0 0%; }
}
@media (min-width: 1400px) {
  :where(body.hcs-page) .col-xxl { flex: 1 0 0%; }
}

/* Desktop navigation: the list items already supply the outer padding. */
:where(body.hcs-page) nav .nav-link {
  padding: 0;
  color: inherit;
}

:where(body.hcs-page) nav .nav-link:hover,
:where(body.hcs-page) nav .nav-link:focus {
  color: inherit;
}

/* Mobile navigation: inherit the same dark text as PROD. */
:where(body.hcs-page) .offcanvas-nav .nav-link,
:where(body.hcs-page) .offcanvas-nav .nav-link:hover,
:where(body.hcs-page) .offcanvas-nav .nav-link:focus {
  color: inherit;
}

/* Match the measured corner radii and subtle borders on PROD. */
:where(body.hcs-page) .btn,
:where(body.hcs-page) .dropdown-menu,
:where(body.hcs-page) nav .list-group {
  border-radius: 0.375rem;
}

:where(body.hcs-page) nav .list-group-horizontal > .list-group-item:first-child {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

:where(body.hcs-page) nav .list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

:where(body.hcs-page) .dropdown-menu {
  border-color: rgba(0, 0, 0, 0.175);
}

:where(body.hcs-page) .offcanvas-end {
  border-left-color: rgba(0, 0, 0, 0.175);
}

:where(body.hcs-page) .offcanvas-header {
  justify-content: normal;
}

:where(body.hcs-page) .offcanvas-header .btn-close {
  margin-left: auto;
}

:where(body.hcs-page) .rounded-3 {
  border-radius: 0.5rem !important;
}

:where(body.hcs-page) .modal-content {
  border-radius: 0.5rem;
}

/* ######### END PROD appearance overrides ######### */
