.mixin-title-h1 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 42px;
  line-height: 54px;
  letter-spacing: -1px;
}
@media (min-width: 1024px) {
  .mixin-title-h1 {
    font-size: 62px;
    line-height: 76px;
    letter-spacing: -2px;
  }
}
.mixin-title-h2 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 36px;
  line-height: 48px;
}
@media (min-width: 1024px) {
  .mixin-title-h2 {
    font-size: 42px;
    line-height: 54px;
  }
}
.mixin-title-h3 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  line-height: 36px;
}
@media (min-width: 1024px) {
  .mixin-title-h3 {
    line-height: 28px;
  }
}
.mixin-title-h4 {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
}
@media (min-width: 1024px) {
  .mixin-title-h4 {
    font-size: 18px;
    line-height: 24px;
  }
}
.mixin-paragraph {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
}
@media (min-width: 1024px) {
  .mixin-paragraph {
    font-size: 16px;
    line-height: 24px;
  }
}
.mixin-paragraph-bold {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .mixin-paragraph-bold {
    font-size: 16px;
    line-height: 24px;
  }
}
.mixin-text-small {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
}
.mixin-text-medium {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 21px;
  line-height: 30px;
}
.mixin-text-caption {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 16px;
}
.mixin-text-button {
  font-family: 'Roboto';
  font-weight: bold;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
}
.mixin-text-subtitle {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
}
@media (min-width: 1024px) {
  .mixin-text-subtitle {
    font-size: 20px;
  }
}
/* Responsive mixins */
.mixin-full-width {
  margin-left: -50vw;
  left: 50%;
  position: relative;
  width: 100vw;
}
.mixin-contanizr {
  max-width: 1440px;
  padding: 0 20px;
  float: none !important;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .mixin-contanizr {
    padding: 0 60px;
  }
}
@media (min-width: 1440px) {
  .mixin-contanizr {
    padding: 0 150px;
  }
}
header.header {
  background: #143326;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-left: 29px;
  padding-right: 26px;
  position: fixed;
  width: 100%;
  height: 99px;
  z-index: 20;
}
@media (min-width: 768px) {
  header.header {
    padding: 0 60px;
  }
}
@media (min-width: 1150px) {
  header.header {
    flex-wrap: nowrap;
  }
}
header.header .header-logo {
  width: 173px;
  height: 61px;
}
header.header .header-items {
  display: flex;
  flex: 1 0 25%;
  gap: 50px;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 768px) {
  header.header .header-items {
    flex-basis: 10%;
    flex-grow: 0;
    justify-content: flex-start;
  }
}
@media (min-width: 1150px) {
  header.header .header-items {
    height: 100%;
    flex-direction: row;
    flex-direction: row-reverse;
    flex-basis: 60%;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  header.header .header-items .header-search {
    order: -1;
  }
}
@media (max-width: 768px) {
  header.header .header-items {
    flex-basis: 0%;
    flex-grow: 0;
  }
}
header.header .header-items .header-navigation {
  flex-grow: 1;
}
@media (min-width: 1150px) {
  header.header .header-items .header-navigation {
    height: 100%;
  }
}
header.header .header-items .header-navigation.open .header-navigation__hamburger-button {
  display: none;
}
header.header .header-items .header-navigation.open .header-navigation__hamburger-close {
  display: flex;
}
header.header .header-items .header-navigation.open .navigation {
  display: flex;
}
header.header .header-items .header-navigation .header-navigation__hamburger {
  font-size: 24px;
  display: flex;
}
header.header .header-items .header-navigation .header-navigation__hamburger-button,
header.header .header-items .header-navigation .header-navigation__hamburger-close {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  line-height: 1;
}
header.header .header-items .header-navigation .header-navigation__hamburger-button {
  display: flex;
}
header.header .header-items .header-navigation .header-navigation__hamburger-close {
  display: none;
}
@media (min-width: 1150px) {
  header.header .header-items .header-navigation .header-navigation__hamburger {
    display: none;
  }
}
header.header .header-items .header-navigation .navigation {
  background: #143326;
  display: none;
  left: 0;
  position: absolute;
  width: 100%;
  top: 98px;
  max-height: 50vh;
}
header.header .header-items .header-navigation .navigation ul li.navigation-see-all a {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
  font-weight: bold;
}
@media (min-width: 1024px) {
  header.header .header-items .header-navigation .navigation ul li.navigation-see-all a {
    font-size: 16px;
    line-height: 24px;
  }
}
header.header .header-items .header-navigation .navigation ul li.navigation-see-all a i {
  display: none;
}
@media (min-width: 1150px) {
  header.header .header-items .header-navigation .navigation {
    display: flex;
    height: 100%;
    position: unset;
    /* Foco visible solo en navegación con teclado */
  }
  header.header .header-items .header-navigation .navigation > ul:first-of-type {
    justify-content: flex-start;
    margin-left: 70px;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-see-all {
    padding-top: 30px;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-see-all a {
    font-family: 'Roboto';
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-see-all a i {
    display: flex;
    margin-left: 10px;
    font-size: 22px;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item {
    display: flex;
    height: 100%;
    /* ===================================================
                            ACCESIBILIDAD MENÚ PRINCIPAL Y SUBMENÚS (ESCRITORIO)
                            =================================================== */
    /* Muestra el submenú completo al enfocar con teclado */
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item:hover > .navigation-link {
    background: #ffffff;
    border-radius: 4px;
    transition: 0.3s ease-in-out;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item:hover > .navigation-link a {
    color: #143326;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item:hover > .navigation-link span .arrow-action {
    color: #143326;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item:hover .navigation-children {
    display: flex;
    background: #ffffff;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item > .navigation-link {
    align-items: center;
    padding: 0 10px;
    margin: 20px 0;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item > .navigation-link a {
    color: #ffffff;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item > .navigation-link span {
    margin-left: 10px;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item > .navigation-link span .arrow-action {
    font-size: 16px;
    color: #ffffff;
    display: flex;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item.keyboard-focus > .navigation-link,
  header.header .header-items .header-navigation .navigation ul li.navigation-item:focus-within > .navigation-link {
    background: #ffffff;
    border-radius: 4px;
    transition: 0.3s ease-in-out;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item.keyboard-focus > .navigation-link a,
  header.header .header-items .header-navigation .navigation ul li.navigation-item:focus-within > .navigation-link a {
    color: #143326;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item.keyboard-focus > .navigation-link span .arrow-action,
  header.header .header-items .header-navigation .navigation ul li.navigation-item:focus-within > .navigation-link span .arrow-action {
    color: #143326;
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item.keyboard-focus > .navigation-children,
  header.header .header-items .header-navigation .navigation ul li.navigation-item:focus-within > .navigation-children {
    display: flex;
    background: #ffffff;
    /* fuerza que se vean los niveles internos */
  }
  header.header .header-items .header-navigation .navigation ul li.navigation-item.keyboard-focus > .navigation-children .navigation-item-secondary .navigation-children,
  header.header .header-items .header-navigation .navigation ul li.navigation-item:focus-within > .navigation-children .navigation-item-secondary .navigation-children {
    display: flex;
  }
  header.header .header-items .header-navigation .navigation ul li a {
    color: #186746;
  }
  header.header .header-items .header-navigation .navigation ul li a:hover {
    font-family: 'Roboto';
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children {
    display: none;
    border: 1px solid #143326;
    border-radius: 4px;
    left: 0;
    position: absolute;
    padding: 20px 60px;
    width: 100%;
    top: 98px;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children .navigation-link {
    padding-bottom: 10px;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children .navigation-link a {
    color: #143326;
    font-family: 'Roboto';
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul {
    display: flex;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul .navigation-item-secondary {
    background: none;
    flex-basis: 100%;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul .navigation-item-secondary .navigation-link a {
    color: #186746;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul .navigation-item-secondary .arrow-action {
    display: none;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul .navigation-item-secondary .navigation-children {
    border: none;
    position: relative;
    padding: 0px;
    top: 0;
  }
  header.header .header-items .header-navigation .navigation ul li > .navigation-children ul .navigation-item-secondary .navigation-children ul {
    flex-direction: column;
  }
  header.header .header-items .header-navigation .navigation .navigation a:focus-visible,
  header.header .header-items .header-navigation .navigation .navigation .arrow-action:focus-visible {
    outline: 2px solid #186746;
    outline-offset: 2px;
  }
}
@media (min-width: 1150px) and (min-width: 1150px) {
  header.header .header-items .header-navigation .navigation > ul:first-of-type {
    column-gap: 3.14px;
  }
}
@media (min-width: 1150px) and (min-width: 1440px) {
  header.header .header-items .header-navigation .navigation > ul:first-of-type {
    column-gap: 24.86px;
  }
}
@media (max-width: 768px) {
  header.header .header-items .header-phone {
    position: fixed;
    bottom: 0;
    width: 100%;
    left: 0;
  }
}
header.header .header-items .header-phone a {
  text-decoration: none;
}
header.header .header-items .header-phone button.cta-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media (max-width: 768px) {
  header.header .header-items .header-phone button.cta-phone {
    width: 100%;
    height: 58px;
    border-radius: 0px;
    background: #143326;
    border: 1px solid #143326;
    color: white;
  }
}
@media (min-width: 768px) {
  header.header .header-items .header-phone .phone-button {
    display: none;
  }
}
header.header .header-items .header-phone .header-phone__icon {
  display: none;
  height: 24px;
  font-size: 24px;
  line-height: 1;
  position: relative;
  top: 1px;
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
header.header .header-items .header-phone .header-phone__icon-button {
  all: unset;
  cursor: pointer;
}
header.header .header-items .header-phone .header-phone__icon-button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
@media (min-width: 768px) {
  header.header .header-items .header-phone .header-phone__icon {
    display: block;
  }
}
@media (min-width: 1280px) {
  header.header .header-items .header-phone .header-phone__icon {
    display: none;
  }
}
@media (min-width: 1280px) {
  header.header .header-items .header-phone .phone-button {
    display: flex;
  }
  header.header .header-items .header-phone .phone-button .ri-phone-fill {
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
}
@media (min-width: 1150px) {
  header.header .header-items .header-search {
    margin-left: 27.14px;
  }
}
@media (min-width: 1440px) {
  header.header .header-items .header-search {
    margin-left: 52.86px;
  }
}
header.header .header-items .header-search .header-search__icon {
  font-size: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
header.header .header-items .header-search .header-search__icon .header-search__button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  line-height: 1;
}
header.header .header-items .header-search .header-search__icon .header-search__button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
header.header .header-items .header-search .header-search__box {
  display: none;
  color: #143326;
  justify-content: space-between;
  left: 0;
  position: absolute;
  width: 100%;
}
@media (min-width: 1150px) {
  header.header .header-items .header-search .header-search__box {
    height: 58px;
    top: 105px;
  }
}
header.header .header-items .header-search .header-search__box.open {
  display: flex;
}
header.header .header-items .header-search .header-search__box.active .header-search__combo {
  color: #143326;
}
header.header .header-items .header-search .header-search__box.active .header-search__close {
  background: #ffffff;
}
header.header .header-items .header-search .header-search__box .header-search__combo {
  position: relative;
  color: #90c1ad;
  display: flex;
  flex-grow: 1;
}
header.header .header-items .header-search .header-search__box .header-search__combo i {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 15px;
}
header.header .header-items .header-search .header-search__box .header-search__combo input {
  border: 1px solid #143326;
  border-radius: 0 0 0 4px;
  padding-left: 50px;
  width: 100%;
}
header.header .header-items .header-search .header-search__box .header-search__combo input:focus-visible {
  outline: none;
}
header.header .header-items .header-search .header-search__box .header-search__close,
header.header .header-items .header-search .header-search__box .header-search__submit {
  border-top: 1px solid #143326;
  border-right: 1px solid #143326;
  border-bottom: 1px solid #143326;
  border-radius: 0 0 4px 0;
  background: #90c1ad;
  padding: 15px 20px;
}
header.header .header-items .header-search .header-search__box .header-search__submit {
  display: none;
  cursor: pointer;
}
header.header .header-items .header-search .header-search__box .header-search__close-button {
  all: unset;
  cursor: pointer;
}
header.header .header-items .header-search .header-search__box .header-search__close-button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
header.header .header-items .header-search .header-search__box i {
  font-size: 24px;
}
/* Solo mostrar outline si se usa teclado */
body:not(.using-keyboard) .navigation a:focus-visible,
body:not(.using-keyboard) .navigation .arrow-action:focus-visible {
  outline: none;
}

.mixin-title-h1 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 42px;
  line-height: 54px;
  letter-spacing: -1px;
}
@media (min-width: 1024px) {
  .mixin-title-h1 {
    font-size: 62px;
    line-height: 76px;
    letter-spacing: -2px;
  }
}
.mixin-title-h2 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 36px;
  line-height: 48px;
}
@media (min-width: 1024px) {
  .mixin-title-h2 {
    font-size: 42px;
    line-height: 54px;
  }
}
.mixin-title-h3 {
  font-family: 'Roboto';
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  line-height: 36px;
}
@media (min-width: 1024px) {
  .mixin-title-h3 {
    line-height: 28px;
  }
}
.mixin-title-h4 {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
}
@media (min-width: 1024px) {
  .mixin-title-h4 {
    font-size: 18px;
    line-height: 24px;
  }
}
.mixin-paragraph {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
}
@media (min-width: 1024px) {
  .mixin-paragraph {
    font-size: 16px;
    line-height: 24px;
  }
}
.mixin-paragraph-bold {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 32px;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .mixin-paragraph-bold {
    font-size: 16px;
    line-height: 24px;
  }
}
.mixin-text-small {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
}
.mixin-text-medium {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 21px;
  line-height: 30px;
}
.mixin-text-caption {
  font-family: 'Roboto';
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 16px;
}
.mixin-text-button {
  font-family: 'Roboto';
  font-weight: bold;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
}
.mixin-text-subtitle {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
}
@media (min-width: 1024px) {
  .mixin-text-subtitle {
    font-size: 20px;
  }
}
/* Responsive mixins */
.mixin-full-width {
  margin-left: -50vw;
  left: 50%;
  position: relative;
  width: 100vw;
}
.mixin-contanizr {
  max-width: 1440px;
  padding: 0 20px;
  float: none !important;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .mixin-contanizr {
    padding: 0 60px;
  }
}
@media (min-width: 1440px) {
  .mixin-contanizr {
    padding: 0 150px;
  }
}
.contact-header .modal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #14332680;
  justify-content: center;
  align-items: center;
  color: #186746;
  font-weight: 400;
}
.contact-header .modal.active {
  display: flex;
  visibility: visible;
}
.contact-header .modal .modal-content {
  width: 481px;
  height: auto;
  padding: 16px 32px 32px 32px;
  outline: 2px solid #186746;
  border-radius: 4px;
  background: #edf7f3;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: initial;
  overflow-y: auto;
  max-height: initial;
}
@media (max-width: 768px) {
  .contact-header .modal .modal-content {
    width: 382px;
    padding: 40px 43px;
  }
}
.contact-header .modal .modal-content__close-button {
  position: absolute;
  top: 17px;
  right: 22.02px;
  cursor: pointer;
  border: 0;
  background: none;
}
@media (max-width: 768px) {
  .contact-header .modal .modal-content__close-button {
    top: 25.02px;
    right: 21.08px;
  }
}
.contact-header .modal .modal-content__close-button .ri-close-line {
  font-size: 22px;
  color: #186746;
}
.contact-header .contact-form__content {
  width: 100%;
  max-width: 391px;
  margin: auto;
  display: flex;
  flex-direction: column;
}
.contact-header .contact-form__content .msg-send-request {
  font-size: 36px;
  line-height: 54px;
  font-weight: 500;
}
@media only screen and (min-width: 1024px) {
  .contact-header .contact-form__content .msg-send-request {
    font-size: 42px;
  }
}
.contact-header .contact-form__content .modalTitle {
  text-align: left;
  font-family: 'Roboto';
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  margin-top: 48px !important;
  color: #186746;
  margin: 0;
  max-width: 100%;
}
@media (max-width: 768px) {
  .contact-header .contact-form__content .modalTitle {
    margin-top: 30px !important;
  }
}
.contact-header .contact-form__content .modalDescription {
  text-align: left;
  font-family: 'Roboto';
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #186746;
  margin: 0;
  margin-top: 15px;
  margin-bottom: 15px;
  max-width: 100%;
}
.contact-header .form-checkbox {
  display: flex;
  flex-direction: row;
}
.contact-header .form-call {
  border-top: 1px solid #90C1AD;
  text-align: center;
}
.contact-header .form-call .openHours {
  color: #186746;
}
.contact-header .callTitle {
  display: block;
  font-weight: 500;
  margin-top: 20px;
  font-size: 16px;
  line-height: 24px;
  color: #186746;
}
.contact-header .form-block {
  flex-wrap: nowrap;
}
.contact-header .form-checkbox {
  flex-wrap: wrap;
}
.contact-header .cta.primary.icon.submit-modal {
  width: 167px;
  font-size: 16px;
  padding: 10px 16px 10px 16px;
  gap: 10px;
  border-radius: 4px;
  height: 44px;
  margin: auto;
  margin-top: 15px;
  background-color: #186746;
}
@media (max-width: 768px) {
  .contact-header .cta.primary.icon.submit-modal {
    width: 294px;
  }
}
.contact-header #expand_collab {
  margin-left: 5px;
}
.contact-header .contact-form__content {
  color: #186746;
}
.contact-header .form-block.form-checkbox label span {
  display: unset;
}
.contact-header .form-block.form-checkbox label {
  flex-wrap: nowrap;
}
@media (max-width: 768px) {
  .contact-header .form-block.form-checkbox label {
    flex-wrap: wrap;
  }
}
.contact-header .form-block.form-checkbox label span a {
  border-color: #242d29;
}

