/* ///// Font Imports ///// */
@font-face {
  font-family: "Volvo Novum";
  src: url("https://firebasestorage.googleapis.com/v0/b/hseo-cdn.appspot.com/o/OEM-Fonts%2FVolvo%2FVOLVONOVUM-REGULAR.OTF?alt=media&token=17135caf-e553-4e15-a8fa-367efa24fa93");
}
:root {
  /*--------------------------*/
  /* Background Images */
  /*-----------------------*/
  --hsd-bkg-desktop: url("https://pictures.dealer.com/g/gunthervolvocarsdaytonabeachvcna/1234/5e7dad0278c34334ba106e3840eb5195.jpg");
  --hsd-bkg-mobile: url("https://pictures.dealer.com/g/gunthervolvocarsdaytonabeachvcna/1234/ab7e0f7435b244fcbdf45ee430bdff75.jpg");
  /*---------*/
  /* Fonts */
  /*-------*/
  --hsd-oem-brand-font: "Volvo Novum";
  --hsd-second-font: "Volvo Novum";
  /*------------------------*/
  /* Custom Page Title */
  /*---------------------*/
  --hsd-font-size-custom-head: 24px;
  /*---------------------------*/
  /* Heading Styling */
  /*------------------------*/
  /* Main */
  --hsd-font-family-head: Volvo Novum;
  --hsd-font-size-head: 48px !important;
  --hsd-font-color-head: #ffffff;
  /* Sub Head */
  --hsd-font-family-sub-head: Volvo Novum;
  --hsd-font-size-sub-head: 24px !important;
  --hsd-font-color-sub-head: #ffffff;
  /* Trim Head */
  --hsd-font-family-trim: Volvo Novum;
  --hsd-font-size-trim: 32px !important;
  --hsd-font-color-trim: #ffffff;
  /*------------------------*/
  /* Pricing Info Styling */
  /*----------------------*/
  --hsd-font-family-pricing-prefix: Volvo Novum;
  --hsd-font-size-pricing-prefix: 26px;
  --hsd-font-color-pricing-prefix: #fff;
  --hsd-font-family-pricing-details: Volvo Novum;
  --hsd-font-size-pricing-details: 26px;
  --hsd-font-color-pricing-details: #fff;
  --hsd-font-family-pricing-suffix: Volvo Novum;
  --hsd-font-size-pricing-suffix: 26px;
  --hsd-font-color-pricing-suffix: #fff;
  /*------------------------*/
  /* Offer Detail Styling */
  /*----------------------*/
  --hsd-kv-borders: 1px solid #666;
  --hsd-font-family-kv-value: Volvo Novum;
  --hsd-font-size-kv-value: 28px;
  --hsd-font-color-kv-value: #fff;
  --hsd-font-family-kv-key: Volvo Novum;
  --hsd-font-size-kv-key: 14px;
  --hsd-font-color-kv-key: #fff;
  /*----------------------------*/
  /* Button and Disclaimer */
  /*--------------------------*/
  --hsd-btn-disc-gap: 16px;
  /*---------------------------*/
  /* General Button Style */
  /*------------------------*/
  --hsd-btn-border-radius: 5px;
  --hsd-btn-font-family: Volvo Novum;
  --hsd-btn-font-size: 13.7px;
  --hsd-btn-padding: 10px 25px 10px 25px;
  --hsd-btn-width: 240px;
  --hsd-btn-height: 48px;
  --hsd-btn-gap: 12px;
  /*-----------------------------------------------*/
  /* Primary Button Style (The First Button) */
  /*--------------------------------------------*/
  --hsd-btn-bkg-pri: #fff;
  --hsd-btn-border-pri: 1px solid #fff;
  --hsd-btn-font-color-pri: #000 !important;
  /*----------------------------------*/
  /* Primary Button Hover Style */
  /*-------------------------------*/
  --hsd-btn-bkg-hover-pri: #1b365d;
  --hsd-btn-border-hover-pri: 1px solid #1b365d !important;
  --hsd-btn-font-color-hover-pri: #fff !important;
  /*------------------------------------------------------*/
  /* Secondary Button Style (The Second Button) */
  /*----------------------------------------------------*/
  --hsd-btn-bkg-sec: transparent;
  --hsd-btn-border-sec: 1px solid #fff !important;
  --hsd-btn-font-color-sec: #fff !important;
  /*--------------------------------------*/
  /* Secondary Button Hover Style */
  /*-----------------------------------*/
  --hsd-btn-bkg-hover-sec: #1b365d;
  --hsd-btn-border-hover-sec: 1px solid #1b365d !important;
  --hsd-btn-font-color-hover-sec: #fff !important;
  /*-----------------------*/
  /* Disclaimer Styling */
  /*---------------------*/
  --hsd-font-family-disclaimer: Volvo Novum;
  --hsd-font-size-disclaimer: 12px;
  --hsd-font-color-disclaimer: #fff;
  /*----------------*/
  /* Modal Style */
  /*--------------*/
  --hsd-modal-bkg-color: #fefefe;
  --hsd-modal-close-color: #aaaaaa;
  --hsd-modal-close-size: 28px;
  --hsd-modal-font-color: #999 !important;
  --hsd-modal-font-size: 14px;
}
/*------------------------------*/
/* Variables Media Queries */
/*----------------------------*/
@media only screen and (max-width: 890px) {
  :root {
    --hsd-font-size-head: 40px !important;
    --hsd-font-size-sub-head: 12px !important;
    --hsd-font-size-trim: 24px !important;
    /*--------------------------*/
    /* Pricing Media Query */
    /*------------------------*/
    --hsd-font-size-pricing-prefix: 24px;
    --hsd-font-size-pricing-details: 24px;
    /*-------------------------------*/
    /* Offer Detail Media Query */
    /*----------------------------*/
    --hsd-font-size-kv-value: 24px;
    --hsd-font-size-kv-key: 12px;
    /*--------------------------*/
    /* Button Media Query */
    /*-----------------------*/
    --hsd-btn-padding: 12px 62px;
    --hsd-btn-width: 320px;
  }
}
@media only screen and (max-width: 780px) {
  :root {
    --hsd-btn-width: 90%;
    --hsd-btn-padding: 12px 0;
  }
}

.hsd-custom-title {
  /* display: none; */
  padding: 32px 8px;
  margin: 0 auto;
  font-size: 32px;
  text-align: center;
}

/* ------------------------------------------------------------------------------------------- */
/* ///// Removed negative space from Bootstrap's .container, important for mobile design ///// */
.hsd-custom > .container::before {
  display: none !important;
}
.hsd-custom > .container::after {
  display: none !important;
}
/* Custom Container Styling */
.hsd-custom * {
  max-width: 100% !important;
}
.hsd-custom {
  max-width: 100%;
  background: var(--hsd-bkg-desktop);
  background-size: cover;
  background-position: center;
  padding: 80px 0 80px 0;
  color: #fff;
  max-width: 2020px;
  margin: auto;
}
.hsd-custom * {
  font-family: var(--hsd-oem-brand-font);
}
.hsd-lease-card {
  display: flex;
  flex-flow: column;
  max-width: 90% !important;
  gap: 32px;
}
/* --------------------------------------------------------- */
/* ///// Code for Upper Section, h1, and all its spans ///// */
.hsd-upper-section {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 20px;
}
.hsd-header {
  display: flex;
  flex-flow: column;
  /* gap: 8px; */
}
.hsd-main-header {
  color: var(--hsd-font-color-head);
  font-family: var(--hsd-font-family-head) !important;
  font-size: var(--hsd-font-size-head) !important;
  font-style: normal;
  font-weight: 600;
  line-height: 67.5px; /* 125% */
  margin: 0;
}
.hsd-sub-header {
  margin: 0;
  width: fit-content;
  color: var(--hsd-font-color-sub-head);
  font-family: var(--hsd-font-family-sub-head);
  font-size: var(--hsd-font-size-sub-head);
  text-transform: uppercase;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.54px;
}
.hsd-trim-header {
  display: block;
  color: var(--hsd-font-color-trim);
  font-family: var(--hsd-font-family-trim);
  font-size: var(--hsd-font-size-trim);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
/* ------------------------------------------------------ */
/* ///// Code for the Pricing line above the offers ///// */
.hsd-lower-section {
  display: flex;
  flex-flow: column;
  gap: 24px;
}
/*.hsd-pricing-container { margin-bottom: -36px; } */
#hsd-miscellaneous {
  margin-bottom: 0;
}
.hsd-pricing-prefix {
  font-family: var(--hsd-font-family-pricing-prefix);
  font-size: var(--hsd-font-size-pricing-prefix);
}
.hsd-pricing-details {
  font-size: var(--hsd-font-size-pricing-details);
  font-family: var(--hsd-font-family-pricing-details);
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
}
.hsd-pricing-suffix {
  font-family: var(--hsd-font-family-pricing-suffix);
  font-size: var(--hsd-font-size-pricing-suffix);
  color: var(--hsd-font-color-pricing-suffix);
  text-transform: none;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
/* ------------------------------------------------------------------ */
/* ///// Adjust all Keys and Values along with their containers ///// */
.hsd-offer-info {
  display: flex;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  /* margin: 12px 0 0 0; */

  color: #ffffff;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
.hsd-kv-cont {
  text-align: center;
  max-width: 170px;
}
.hsd-kv-1 {
  padding-right: 24px;
}
.hsd-kv-2 {
  padding: 0 24px;
  border-right: var(--hsd-kv-borders);
  border-left: var(--hsd-kv-borders);
}
.hsd-kv-3 {
  padding-left: 24px;
}
.hsd-offer-value {
  color: var(--hsd-font-color-kv-value);
  font-family: var(--hsd-font-family-kv-value);
  font-size: var(--hsd-font-size-kv-value);
  text-align: center;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
}
.hsd-offer-key {
  text-align: center;
  font-family: var(--hsd-font-family-kv-value);
  font-size: var(--hsd-font-size-kv-key);
  color: var(--hsd-font-color-kv-key);
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
}
/* ---------------------------------------- */
/* ///// Buttons and Button Container ///// */
.hsd-btn-disc-cont {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--hsd-btn-disc-gap);
}
.hsd-btn-cont {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--hsd-btn-gap);
}
.hsd-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--hsd-btn-width);
  height: var(--hsd-btn-height);
  padding: var(--hsd-btn-padding);
  border-radius: var(--hsd-btn-border-radius);
  font-family: var(--hsd-btn-font-family);
  font-size: var(--hsd-btn-font-size);
  transition: all 0.3s ease-in-out;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: 15.159px;
  letter-spacing: 0.689px;
  text-transform: uppercase;
}
.hsd-btns,
.hsd-btns:visited,
.hsd-btns:link,
.hsd-btns:hover {
  text-decoration: none !important;
}
.hsd-btn-pri {
  border: var(--hsd-btn-border-pri);
  background: var(--hsd-btn-bkg-pri);
  color: var(--hsd-btn-font-color-pri) !important;
}
.hsd-btn-pri:hover {
  border: var(--hsd-btn-border-hover-pri);
  background: var(--hsd-btn-bkg-hover-pri);
  color: var(--hsd-btn-font-color-hover-pri) !important;
}
.hsd-btn-sec {
  border: var(--hsd-btn-border-sec);
  background: var(--hsd-btn-bkg-sec);
  color: var(--hsd-btn-font-color-sec) !important;
}
.hsd-btn-sec:hover {
  border: var(--hsd-btn-border-hover-sec);
  background: var(--hsd-btn-bkg-hover-sec);
  color: var(--hsd-btn-font-color-hover-sec) !important;
}
/* ------------------------------------- */
/* ///// Disclaimer Trigger Styles ///// */
#hsd-trigger-modal {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  cursor: pointer;
  font-family: var(--hsd-font-family-disclaimer);
  font-size: var(--hsd-font-size-disclaimer);
  color: var(--hsd-font-color-disclaimer);
  text-align: center;
  font-style: normal;
  font-weight: 400;
  line-height: 24.3px;
}
/* #hsd-trigger-modal > span {
border-bottom: 1px solid #FFF;
text-decoration: underline;
line-height: 14px;
} */
/* ------------------------------------- */
/* ///// Lease Card Content Styles ///// */
.hsd-lease-content {
  width: 100%;
  text-align: center;
  margin-top: 48px;
}
/* ----------------------- */
/* ///// Close Modal ///// */
.hsd-close-modal {
  align-items: end;
  display: flex;
  justify-content: end;
  cursor: pointer;
}
/* ---------------------------------- */
/* ///// The Modal (background) ///// */
.hsd-modal {
  z-index: 99999;
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}
/* ------------------------- */
/* ///// Modal Content ///// */
.hsd-modal-content {
  background-color: var(--hsd-modal-bkg-color);
  width: 50% !important;
  max-height: 478px;
  margin-top: 9em !important;
  margin: auto;
  padding: 10px 20px 20px !important;
  border: 1px solid #888;
  overflow-y: scroll;
  text-align: center;
}
.hsd-disclaimer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hsd-disclaimer-head > b {
  margin-top: 2px;
}
.hsd-modal-content > p {
  color: var(--hsd-modal-font-color);
}
/* The Close Button */
.hsd-close-modal {
  color: var(--hsd-modal-close-color);
  float: right;
  font-size: var(--hsd-modal-close-size);
  font-weight: bold;
}
.hsd-close-modal:hover,
.hsd-close-modal:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
/* ---------------------------- */
/* ///// Start Mobile CSS ///// */
@media only screen and (max-width: 780px) {
  .hsd-custom-title {
    font-size: var(--hsd-font-size-custom-head);
  }
  .hsd-custom {
    max-width: 100%;
    background: var(--hsd-bkg-mobile);
    background-size: cover;
    background-position: center;
    padding: 27px 0 40px 0;
    height: 650px;
    color: #fff;
  }
  .hsd-lease-card {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    min-width: 0;
    max-width: 100% !important;
  }
  .hsd-upper-section {
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 0 35px;
  }
  .hsd-header {
    margin: 0 0 23px 0;
    width: 100%;
    gap: 0;
  }
  .hsd-model-header {
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: 0.75px;
    width: fit-content;
  }
  .hsd-sub-header {
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
    letter-spacing: 2px;
  }
  .hsd-trim-header {
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
    letter-spacing: 1px;
  }
  .hsd-pricing-container {
    width: 90% !important;
    margin-bottom: -8px;
  }
  #hsd-finance,
  #hsd-miscellaneous {
    display: inline-block;
    margin-bottom: 13px !important;
  }
  #hsd-lease-info {
    padding-top: 0 !important;
  }
  .hsd-kv-1 {
    padding-right: 12px;
  }
  .hsd-kv-2 {
    padding: 0 12px;
    border-right: 1px solid;
    border-left: 1px solid;
  }
  .hsd-kv-3 {
    padding-left: 12px;
  }
  .hsd-offer-info {
    width: 90%;
  }
  .hsd-offer-value {
    line-height: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
  }
  .hsd-offer-key {
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
  }
  .hsd-lower-section {
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 12px !important;
  }
  .hsd-btn-disc-cont {
    width: 100%;
    align-items: center;
  }
  .hsd-btn-cont {
    width: 100%;
    flex-flow: column;
    justify-content: center;
  }
  .hsd-btns {
    width: var(--hsd-btn-width);
    padding: var(--hsd-btn-padding);
    font-size: var(--hsd-btn-font-size);
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; /* 14px */
    letter-spacing: 1px;
  }
  .hsd-btn-pri {
    margin: 0;
  }
  .hsd-disc-cont {
    width: 90%;
  }
  .hsd-modal-content {
    width: 80% !important;
  }
  .hsd-lease-content {
    padding: 0 2rem;
    height: 250px;
    overflow-y: scroll;
  }
}
/* --------------------------- */
/* ///// Small Phone CSS ///// */
@media only screen and (max-width: 375px) {
}
