/* html{
 overflow: hidden; 
}

body{
  overflow: auto;
  height: 100vh;
}
 */
.c-btn.c-btn--primary-b,
.c-btn.c-btn--primary-b:hover,
.c-btn.c-btn--primary-b:focus,
.c-btn.c-btn--primary-b:active{
    background-color: #006384;
    color: white;
}

.c-btn.c-btn--primary-b:disabled{
  border: 1px solid #d8d8d8 !important;
}

.c-hero-teaser.c-hero-teaser--login {
    min-height: 100vh;
}

.c-page-head-nav__dropdown-list-link {
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 2rem;
}

.c-btn.c-btn--link .c-btn__icon::before {
    padding: 0px !important;
}

.c-pagination__link{
    padding: 8px;
}

.c-pagination__link--stepper-prev,
.c-pagination__link--stepper-next{
    padding: 5px 8px;
}

.c-pagination__link.is-disabled{
  color: #004666;
}

.c-hero-teaser.c-hero-teaser--login .c-hero-teaser__content{
  margin-top: 58px;
}

@media (max-width: 480px){

  .c-hero-teaser.c-hero-teaser--login {
    min-height: auto;
 }

  .c-hero-teaser.c-hero-teaser--login .c-hero-teaser__content {
      position: relative;
      margin-top: -35px;
  }
}

.c-custom-range-slider__value{
  padding-top: 30px;
}

.flatpickr-calendar{
  z-index: 1500;
}

.c-modal__wrapper{
  background: white;
}

.c-button-group__label{
  min-height: 30px;
}

.c-modal__footer::before{
  background: none;
}

hr{
  background-color: transparent;
  border-top: 1px solid #dcdcdc;
}

.c-accordion:not(:only-child){
  border-color: #dcdcdc;
}

.c-accordion__header {
  border-color: #dcdcdc;
  padding: .75rem 0 .75rem .5rem;
}

.c-accordion__title-icon{
  top: 11px;
  right: .5rem;
}

.c-accordion__title-label-text > p{
  margin-bottom: 0 !important;
}


/* Pagination custom */ 
.c-pagination__link:not(.is-disabled):not(.is-active):focus{
  background: #eee;
  color: #004666;
}

/* Bluelabel Aplication to Default version */
.c-hero-teaser .c-hero-teaser__content{
  padding-bottom: 70px;
  z-index: 900;
  position: relative;
}

.c-hero-teaser:not(.c-hero-teaser--login) .c-hero-teaser__content{
  padding-top: 164px;
}

.c-hero-teaser.c-hero-teaser--no-image .c-hero-teaser__content{
  padding-top: 50px;
  position: relative;
}

.c-hero-teaser__content-inner{
  max-width: calc(1280px + 80px);
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}

.c-hero-teaser.c-hero-teaser--shallow .c-hero-teaser__content{
  position: absolute;
}

@media (max-width: 720px){

  .c-hero-teaser.c-hero-teaser--no-image .c-hero-teaser__content {
    padding-top: 0;
    margin-top: 40px;
  }

  .c-hero-teaser__content{
    padding-top: auto;
    padding-bottom: 70px;
    position: absolute;
    z-index: 900;
  }

  .c-hero-teaser.c-hero-teaser--shallow .c-hero-teaser__content{
    top: -30px;
    position: absolute;
  }
  
}

@media (max-width: 480px){
  .c-hero-teaser__content{
    padding-top: auto;
    padding-bottom: 70px;
    position: absolute;
    z-index: 900;
  }

  .c-hero-teaser__content-inner{
    padding-left: 12px;
    padding-right: 12px;
  }

}

.c-modal__title__wrapper{
  margin-top: 0;
}

.c-accordion__content{
  padding: 0;
}

@media (max-width: 720px){

  html{
    font-size: 16px;
  }

  .c-btn,
  .c-button-group__label,
  .c-input__input {
    min-height: 35px;
  }

  .c-tag {
    padding: 5px 10px;
  }
  
  .c-page-head-nav__item{
    margin-left: 1rem !important;
  }
  
  .c-mega-menu__link{
    font-size: 0.9rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .c-carousel__button{
    display: block;
  }

}

.c-cards-slider-container{
  opacity: 1 !important;
}

/*------------------------------------*\
    #PAGE-HEAD
\*------------------------------------*/
/**
 * The page-head is positioned absolute. This provides a reference for the
 * page-head, so that there can be content before the page-head—e.g.
 * notifications.
 *
 * [1] Add spacing below page head to account for missing hero teaser. This is
 *     calculated by taking the logo-height into account, so no matter how high
 *     the logo or the page-head is, the spacing always stays the same.
 */
 .c-page-head__wrapper {
    position: relative;
  }
  
  .c-page-head {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1030;
    height: 68px;
    background-color: rgba(255, 255, 255, 0.6);
  }
  
  @media (max-width: 720px) {
    .c-page-head {
      height: 48px;
    }
  }
  
  .c-page-head.c-page-head--no-hero {
    position: relative;
    margin-bottom: 68px;
    /* [1] */
    background-color: #f2f2f2;
  }
  
  @media (max-width: 720px) {
    .c-page-head.c-page-head--no-hero {
      margin-bottom: 28px;
      /* [1] */
    }
  }
  
  .c-page-head__inner {
    padding-left: 208px;
    position: relative;
  }
  
  @media (max-width: 720px) {
    .c-page-head__inner {
      padding-left: 184px;
    }
  }

/* Disabled buttons != box-shadow */ 
.c-btn:disabled:hover, .c-btn:disabled:focus {
    box-shadow: none !important;
}

/* Checkobox fix */
.c-checkbox__label::after { 
  left: 1px;
}

  /*------------------------------------*\
      #PAGE-HEAD-NAV
  \*------------------------------------*/
  /**
   * This is the uppermost bar on the page, containing the high-level navigation.
   */
  /**
   * [0] Reset default list styles.
   * [1] Fill the page-head bar up from the right.
   * [2] The height of the page-head bar decreases on small screen, so the nav
   *     also has to shrink in its height.
   * [3] Remove reference for `.c-page-head-nav__dropdown` on small screen.
   * [4] Fill up the whole height of the page-head bar.
   * [5] Vertically center the link on the page-head bar.
   * [6] The height of the page-head bar decreases on small screen, so the nav
   *     link also has to shrink in its height.
   * [7] So that the span (`.c-page-head-nav__link-text`) can be full-height
   *     of it's parent.
   * [8] Relation for little triangle.
   * [9] The actual triangle is made out of a `::before` element.
   * [10] Center of its parent (the spans text).
   * [11] Magic number to vertically center the icon with the text. Don't cry!
   * [12] Magic number. The width of the dropdown should be 1/3 of the page-wrap
   *      width, but then the dropdown would expand to the right of the viewport
   *      and would cause a horizontal scrollbar.
   * [13] Align the beginning of the text with the beginning of the text of
   *      the page-head-nav items.
   * [14] On small screen, the dropdown is stretched over the entire width of
   *      the viewport.
   * [15] Magic number to adjust the underline effect.
   * [16] Arbitrary, unrealistic value to animate against to.
   * [17] Separate the `--left` items from the “normal” items by targeting the
   *      first item that is not `--left` and push it to the right via
   *      `margin-left: auto`.
   * [18] To prevent the dropdown from overlaying the logo, push it more to
   *      the right than the default.
   * [19] Reset margin of `<li>` styling.
   * [20] Hide text labels on links for very small screens to account for limited
   *      horizontal space and show only the icons.
   */
   .c-checkbox__label::after{
    height: 80% !important;
    width: 20px !important;
    margin-top: 2px;
  }
  .c-page-head-nav {
    display: flex;
    width: 100%;
    justify-content: space-between;
    /* [1] */
    margin: 0;
    /* [0] */
    text-transform: uppercase;
    font-weight: 700;
    list-style: none;
    /* [0] */
  }
  
  @media (max-width: 720px) {
    .c-page-head-nav {
      line-height: 48px;
      /* [2] */
    }
  }
  
  .c-page-head-nav__item {
    display: inline-block;
    margin-bottom: 0;
    /* [19] */
    position: relative;
    vertical-align: top;
    /* stylelint-disable scss/selector-no-redundant-nesting-selector */
    /* stylelint-enable */
  }
  
  .c-page-head-nav__item.c-page-head-nav__item--left + :not(.c-page-head-nav__item--left) {
    margin-left: auto;
    /* [17] */
  }
  
  @media (max-width: 720px) {
    .c-page-head-nav__item {
      position: static;
      /* [3] */
    }
  }
  
  .c-page-head-nav__link {
    font-size: 0.83333rem;
    line-height: 68px;
    /* [5] */
    display: block;
    /* [4] */
    text-decoration: none;
  }
  
  .c-page-head-nav__link:hover .c-page-head-nav__link-text::after, .c-page-head-nav__link:active .c-page-head-nav__link-text::after, .c-page-head-nav__link:focus .c-page-head-nav__link-text::after {
    width: 100%;
  }
  
  .c-page-head-nav__link .c-page-head-nav__link-text {
    display: inline-block;
    position: relative;
  }
  
  .c-page-head-nav__link .c-page-head-nav__link-text::after {
    display: block;
    height: 1px;
    width: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: currentColor;
    transition: all 250ms ease;
    content: "";
  }
  
  @media (pointer: coarse) {
    .c-page-head-nav__link .c-page-head-nav__link-text::after {
      display: none;
    }
  }
  
  @media (max-width: 720px) {
    .c-page-head-nav__link {
      line-height: 48px;
      /* [6] */
    }
  }
  
  .c-page-head-nav__link-text {
    display: inline-block;
    /* [7] */
    position: relative;
    /* [8] */
  }
  
  @media (max-width: 480px) {
    .c-page-head-nav__link-text {
      position: absolute !important;
      /* stylelint-disable-line declaration-no-important */
      overflow: hidden;
      height: 1px;
      width: 1px;
      clip: rect(1px, 1px, 1px, 1px);
      /* [8] */
    }
  }
  
  .c-page-head-nav__link-text::before {
    /* [9] */
    transition-duration: 250ms;
    transition-property: all;
    transition-timing-function: ease;
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    bottom: 0;
    left: 50%;
    /* [10] */
    transform: translateX(-50%);
    /* [10] */
    border-color: transparent;
    border-style: solid;
    border-width: 8px;
    border-bottom-width: 0;
    content: "";
  }
  
  .c-page-head-nav__link.is-open .c-page-head-nav__link-text::before,
  .c-page-head-nav__link[aria-expanded="true"] .c-page-head-nav__link-text::before {
    border-width: 8px;
    border-bottom-color: #004666;
  }
  
  .c-page-head-nav__link-text::after {
    top: calc(50% + 9px);
    /* [15] */
  }
  
  .c-page-head-nav__link-icon {
    position: relative;
    top: -2px;
    /* [11] */
    /* stylelint-disable-line sh-waqar/declaration-use-variable */
    vertical-align: middle;
  }
  
  .c-page-head-nav__dropdown {
    transition-duration: 250ms;
    transition-property: all;
    transition-timing-function: ease;
    max-height: 0;
    width: 232.72727px;
    /* [12] */
    position: absolute;
    top: 100%;
    left: -38px;
    /* [13] */
    overflow: hidden;
    visibility: hidden;
  }
  
  .c-page-head-nav__item--left .c-page-head-nav__dropdown {
    left: 0;
    /* [18] */
  }
  
  .c-page-head-nav__dropdown.is-open, .c-page-head-nav__dropdown[aria-hidden="false"] {
    max-height: 300vh;
    /* [16] */
    visibility: inherit;
  }
  
  @media (max-width: 720px) {
    .c-page-head-nav__dropdown {
      width: 100vw;
      /* [14] */
      left: 50%;
      /* [14] */
      transform: translateX(-50%);
      /* [14] */
    }
  }
  
  .c-page-head-nav__dropdown-content {
    transition-duration: 250ms;
    transition-property: all;
    transition-timing-function: ease;
    margin: 0;
    /* [0] */
    padding: 28px;
    background-color: #004666;
    text-align: left;
    list-style: none;
    /* [0] */
    transform: translateY(-100%);
  }
  
  .c-page-head-nav__dropdown.is-open .c-page-head-nav__dropdown-content,
  .c-page-head-nav__dropdown[aria-hidden="false"] .c-page-head-nav__dropdown-content {
    transform: translateY(0);
  }
  
  .c-page-head-nav__dropdown-list-item {
    display: block;
    margin-bottom: 0;
    /* [0] */
    border-bottom: 1px solid rgba(168, 173, 179, 0.5);
  }
/*   
  COMENTAR

  .c-page-head-nav__dropdown-list-link {
    font-size: 0.83333rem;
    display: block;
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
    text-decoration: none;
    text-transform: none;
  }
   */
  .c-page-head-nav__dropdown-list-link:hover {
    background-color: rgba(168, 173, 179, 0.2);
    color: #fff;
  }
  
  .c-page-head-nav__dropdown-list-link:not(a), .c-page-head-nav__dropdown-list-link:not(a):hover {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.3);
    cursor: default;
  }

  .c-page-head  .c-page-head-nav__dropdown{
    width: 200px;
    left: -60px;
  }

  @media (min-width: 1024px) {
    .c-page-head  .c-page-head-nav__dropdown{
      width: 200px;
      left: -100px;
    }
  }

  @media (max-width: 1024px) {
    .c-page-head  .c-page-head-nav__dropdown{
      width: 200px;
      left: -130px;
    }
  }

  @media (max-width: 720px) {
    .c-page-head  .c-page-head-nav__dropdown{
      width: 100vw;
      left: 50%;
      transform: translateX(-50%);
    }
  }
  
/*------------------------------------*\
    #LOGO
\*------------------------------------*/
/**
 * The main brand-logo in the header.
 */
/**
 * [1] We have two different logos, depending on the breakpoint we are at.
 */
.c-brand-logo {
    display: inline-block;
    width: 180px;
    height: 108px;
    padding-left: 20px;
    padding-right: 20px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: linear-gradient(45deg, #003a58 0%, #007392 100%);
  }
  
  @media (max-width: 720px) {
    .c-brand-logo {
      width: 170px;
      /* [1] */
      height: 48px;
      /* [1] */
    }
  }
  
  .c-brand-logo svg {
    width: 140px;
    height: 108px;
    fill: #fff;
  }
  
  @media (max-width: 720px) {
    .c-brand-logo svg {
      width: 130px;
      /* [1] */
      height: 48px;
      /* [1] */
    }
  }
  
  @media (min-width: 721px) {
    .c-brand-logo.c-brand-logo--small-screen {
      display: none;
      /* [1] */
    }
  }
  
  @media (max-width: 720px) {
    .c-brand-logo.c-brand-logo--large-screen {
      display: none;
      /* [1] */
    }
  }