/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}
*, *:before, *:after {
  box-sizing: border-box;
}


/* HubSpot Boilerplate styles */

/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media screen and (max-width: 768px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media screen and (max-width: 768px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}


/**
  * Creation of an rgba value that maps from a color field
  * @param {string} path - Path to the theme color
**/


/** 
  * Get the rgba value of a theme color by combining the color & opacity
  * @param {string} path - Path to the theme color
**/






/** 
  * Get the font family and fallbacks
  * @param {string} font - The font name
**/


/** 
  * Get the typography styles using the path to the typography theme & a font size measurement
  * @param {string} path - Path to the typography theme fields
**/
 

/** 
  * Write css selectors & styles for typography elements
  * @param {string} typography - Selector element name
  * @param {string} path - Path to the typography theme fields
**/


/** 
  * Write css selectors & styles for subheader typography elements
  * @param {string} typography - Selector element name
  * @param {string} path - Path to the typography theme fields
**/


  

  /* HubSpot Boilerplate */

  .header {
    background-color: 

  
  
    
  


  rgba(255, 255, 255, 0.0)

;
  }

  .menu__link,
  .header__logo .logo-company-name,
  .header__language-switcher-label-current,
  .header__language-switcher .lang_list_class li a {
    font-family: ;
  }

  @media (min-width: 768px) {
    .menu__link,
    .header__logo .logo-company-name,
    .header__language-switcher-label-current,
    .header__language-switcher .lang_list_class li a {
      font-family: ;
    }
  }

  .header__language-switcher .lang_list_class:before {
    border-bottom-color: ;
  }

  .menu__submenu .menu__link:hover,
  .menu__submenu .menu__link:focus,
  .header__language-switcher .lang_list_class li:hover,
  .menu__submenu--level-2 > .menu__item:first-child:hover:before,
  .menu__submenu--level-2 > .menu__item:first-child.focus:before {
    background-color: 

  
  
    
  


  rgba(255, 255, 255, 0.0)

;
  }

  .header__language-switcher .lang_list_class.first-active::after {
    border-bottom-color: 

  
  
    
  


  rgba(255, 255, 255, 0.0)

;
  }

  .header__language-switcher-label-current,
  .header__language-switcher .lang_list_class li a {
    font-family: ;
  }

  @media screen and (min-width: 767px) {
    .header__language-switcher-label-current,
    .header__language-switcher .lang_list_class li a {
      font-family: ;
    }
  }

  @media screen and (max-width: 768px) {
    .header__navigation {
      background-color: 

  
  
    
  


  rgba(255, 255, 255, 0.0)

;
    }
  }

  /* VMD Styles */

  .vmd__header {
    position: fixed;
    width: 100%;
    z-index: 100;
  }

  .vmd__header__container {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1rem;
  }

  /* Navigation Logo */

  .vmd__header__logo {
    height: auto;
    max-width: 13.75rem;
    width: 13.75rem;
  }

  .vmd__header__logo__img {
    display: block;
    width: 100%;
  }

  /* Navigation Menu */

  .vmd__header__nav {
    margin-left: 2rem;
  }

  @media screen and (max-width: 1024px) {
    .vmd__header__nav .vmd__header__nav__button__icon--close {
        display: none;
    }
    .vmd__header__nav .vmd__header__nav__button__icon--menu {
        display: initial;
    }

    .vmd__header__nav--open .vmd__header__nav__button__icon--close {
        display: initial;
    }
    .vmd__header__nav--open .vmd__header__nav__button__icon--menu {
        display: none;
    }
    .vmd__header__nav--open .vmd__header__nav__links {
        opacity: 1;
        transition-delay: 0s, 0s;
        visibility: visible;
    }
  }

  .vmd__header__nav .hs-menu-item {
    border-bottom: 2px solid transparent;
  }

  .vmd__header__nav .hs-menu-item > a {
    font-size: .88rem;
    font-weight: 500;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav .hs-menu-item > a {
      font-size: 1.25rem;
      font-weight: 400;
    }
  }

  @media screen and (max-width: 1024px) {
    .vmd__header__nav .hs-menu-wrapper .hs-menu-item {
      padding: 1rem 0;
      width: 100%;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-item:first-of-type {
      border-top: none;
    }
  }

  .vmd__header__nav .hs-menu-wrapper > ul {
    align-items: center;
    justify-content: flex-end;
    row-gap: 1rem;
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav .hs-menu-wrapper > ul {
      align-items: flex-start;
      row-gap: 0;
    }
  }

  .vmd__header__nav__button,
  .vmd__header__nav__button:active,
  .vmd__header__nav__button:focus,
  .vmd__header__nav__button:hover {
    align-items: center;
    background-color: transparent;
    border: none;
    border-radius: 0;
    display: none;
    justify-content: center;
    min-height: 2rem;
    padding: .38rem;
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav__button,
    .vmd__header__nav__button:active,
    .vmd__header__nav__button:focus,
    .vmd__header__nav__button:hover {
      display: flex;
    }
  }

  .vmd__header__nav__button__icon {
    display: none;
    height: auto;
    max-width: 1.5rem;
    max-height: 1.25rem;
  }

  .vmd__header__nav__links {
    align-items: center;
    column-gap: 1.75rem;
    display: flex;
    justify-content: space-between;
  }

  @media screen and (max-width: 1024px) {
    .mobile-menu-visible-block-scrolling-for-background {
      overflow: hidden;
    }
    .vmd__header__nav__links {
      animation: fadeout .5s;
      display: flex;
      flex-direction: column;
      /* Fallback for browsers that don't support dvh */
      height: calc(100vh - 4rem);
      /* Fix for safari mobile so that the search bar doesn't hide the button on the bottom - https://www.bram.us/2021/07/08/the-large-small-and-dynamic-viewports/#dynamic-viewport */
      height: calc(100dvh - 4rem);
      opacity: 0;
      padding: 0 1rem 1rem;
      position: fixed;
      right: 0;
      top: 4rem;
      transition: opacity .5s, visibility 0s;
      transition-delay: 0s, .5s;
      visibility: hidden;
      width: 100%;
    }
  }

  @media screen and (max-width: 1024px) {
    .vmd__header__nav__links__list {
      width: 100%;
    }
  }

  /* Navigation Buttons */

  @media screen and (max-width: 1024px) {
    .vmd__header__nav__links__buttons {
      display: none;
    }
  }

  .vmd__header__nav__links__buttons--mobile {
    display: none;
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav__links__buttons--mobile {
      display: initial;
      width: 100%;
    }
    .vmd__header__nav__links__buttons--mobile .vmd__button {
      width: 100%;
    }
  }

  /* Navigation skipper */

  .vmd__header__skip {
    height: 1px;
    left: -1000px;
    overflow: hidden;
    position: absolute;
    text-align: left;
    top: -1000px;
    width: 1px;
  }

  .vmd__header__skip:hover,
  .vmd__header__skip:focus,
  .vmd__header__skip:active {
    height: auto;
    left: 0;
    overflow: visible;
    top: 0;
    width: auto;
  }

  /* Nested menu additions */

  /* All clors are set on the header.html file */
  /* Links for the dropdown -- this adds hover and action states */
  @media screen and (max-width: 1024px) {
    .vmd__header__nav .hs-menu-depth-1 a:hover {
      background-color: transparent;
    }
  }

  /* Dropdown display toggle */
  .vmd__header__nav .hs-menu-children-wrapper {
    display: none;
  }
  .vmd__header__nav .menu--open .hs-menu-children-wrapper {
    display: block;
  }	  

  /* Menu wrapper with navigation buttons */
  @media screen and (min-width: 1025px) {
    .vmd__header__nav {
      flex: 1;
    }
    .vmd__header__nav__links__list {
      display: flex;
      justify-content: center;
      align-items: center;
      flex: 1 0 0;
    }
    /* All Li elements */
    .vmd__header__nav li.hs-menu-item.hs-menu-depth-1  {
      padding: 0.5rem 0 0 0;
      margin: 0 1rem;
    }
    /* Nested Ul element */
    .vmd__header__nav .hs-menu-children-wrapper {
      position: absolute;
      z-index: 1000;
      top: 100%;
      overflow: hidden;
      border-radius: 0.25rem;
      box-shadow: 0 0.125rem 0.25rem 0 rgba(23, 51, 91, 0.20);
      display: none;
    }

    .vmd__header__nav .hs-menu-children-wrapper li.active {
      border: none;	  
    }	  
    .vmd__header__nav .hs-menu-children-wrapper a {
      display: flex;
      height: 3.5rem;
      padding: 1.063rem 0.75rem;
      align-items: center;
    }
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav .vmd__header__nav__links__list {
      padding: 2rem 0;
      overflow: auto;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-depth-1.hs-menu-item {
      padding: 0;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-depth-1.hs-menu-item a {
      padding: 1.25rem 0 1.25rem 0;
      display: block;
      width: 100%;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-depth-1.menu--open {
      padding: 0;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-depth-1.hs-menu-item:first-of-type {
      padding-top: 0;
    }
    .vmd__header__nav .hs-menu-wrapper .hs-menu-depth-1.hs-menu-item:last-of-type {
      padding-bottom: 0;
    }		  
    .vmd__header__nav .hs-menu-children-wrapper {
      margin: 0 0 1.25rem 0;
    }
    .vmd__header__nav .hs-menu-children-wrapper li.hs-menu-item {
      padding: 0.5rem 0rem 0.5rem 1.5rem;
      align-self: stretch;
      display: flex;
      border: none;
      height: 4.375rem;
      align-items: center;
    }
  }


  /* Li element with children */
  @media screen and (min-width: 1025px) {
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children {
      position: static;
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-down.svg);
      background-position: right 0 top 70%;
      background-repeat: no-repeat;
    }
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children:hover {
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-down-blue.svg);
    }
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children.menu--open {
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-up.svg);
    }
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children.menu--open,
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children.menu--open:hover {
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-up-blue.svg);
    }
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children > a {
      padding-right: 1rem;
    }
  }
  @media screen and (max-width: 1024px) {
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children {
      position: static;
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-down-mobile.svg);
      background-position: right 0.45rem top 1.5rem;
      background-repeat: no-repeat;
    }
    .vmd__header__nav .hs-menu-item.hs-menu-depth-1.hs-item-has-children.menu--open {
      background-image: url(https://6509886.fs1.hubspotusercontent-na1.net/hubfs/6509886/raw_assets/public/VillageMedical/images/chevron-up-mobile.svg);
      background-position: right 0.45rem top 1.85rem;
      background-repeat: no-repeat;			
    }
    .vmd__header__nav li.active-branch {
      border-bottom: 2px solid transparent;
    }
  }