/*****  MAIN STYLES    *****/
/*****  Variables  *****/
:root {
  --ff-primary: "GCO", serif;
  --ff-secondary: "GCO Sans", sans-serif;
  --fs-sm: 0.95rem;
  --fs-base: clamp(1rem, 0.38vw + 0.75rem, 1.125rem);
  --fs-md: clamp(1.25rem, 0.61vw + 1.1rem, 1.58rem);
  --fs-lg: clamp(1.56rem, 1vw + 1.31rem, 2.5625rem);
  --fs-xl: clamp(1.95rem, 1.56vw + 1.56rem, 3.375rem);
  --fs-xxl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
  --fs-xxxl: clamp(3.05rem, 3.54vw + 2.17rem, 5rem);
  --c-base-primary: #DC0028;
  --c-base-primary-light: #FBEDED;
  --c-base-secondary: #FA961E;
  --c-base-primary-gradient: linear-gradient(to right, #DC0028, #FA961E);
  --c-base-bg-1: #E2DFDB;
  --c-base-bg-2: #F2F1EF;
  --c-base-typo: #505050;
  --c-theme-typo: #505050;
  --c-base-white: #FFFFFF;
  --c-base-black: #000000;
  --c-theme-primary: rgba(226, 70, 169, 1);
  --c-theme-bg: rgba(226, 70, 169, 0.10);
  --bt-border: 4px;
  --header-height: 110px;
  --footer-height: 120px;
  --content-mw: 760px;
  --form-mw: 420px;
  --mw: 1264px;
  --ph: 1rem;
}
@media screen and (min-width: 768px) {
  :root {
    --ph: 2rem;
  }
}
@media screen and (min-width: 1500px) {
  :root {
    --mw: 1440px;
    --content-mw: 900px;
  }
}

.theme-hogar {
  --c-theme-primary: rgba(226, 70, 169, 1);
  --c-theme-bg: rgba(226, 70, 169, 0.10);
  --c-theme-typo: #c63984;
  opacity: 1;
}

.theme-movilidad {
  --c-theme-primary: rgba(65, 127, 236, 1);
  --c-theme-bg: rgba(65, 127, 236, 0.10);
  --c-theme-typo: #4674ac;
  opacity: 1;
}

.theme-salud {
  --c-theme-primary: rgba(220, 74, 74, 1);
  --c-theme-bg: rgba(220, 74, 74, 0.10);
  --c-theme-typo: #c9242e;
  opacity: 1;
}

.theme-responsabilidad {
  --c-theme-primary: rgba(173, 100, 219, 1);
  --c-theme-bg: rgba(173, 100, 219, 0.10);
  --c-theme-typo: #815491;
  opacity: 1;
}

.theme-vida {
  --c-theme-primary: rgba(249, 178, 36, 1);
  --c-theme-bg: rgba(249, 178, 36, 0.10);
  --c-theme-typo: #965f07;
  opacity: 1;
}

.theme-proteccion {
  --c-theme-primary: rgba(170, 127, 77, 1);
  --c-theme-bg: rgba(170, 127, 77, 0.10);
  --c-theme-typo: #855c44;
  opacity: 1;
}

.theme-ahorros {
  --c-theme-primary: rgba(38, 160, 71, 1);
  --c-theme-bg: rgba(38, 160, 71, 0.10);
  --c-theme-typo: #458153;
  opacity: 1;
}

.theme-negocios {
  --c-theme-primary: rgba(241, 114, 88, 1);
  --c-theme-bg: rgba(241, 114, 88, 0.10);
  --c-theme-typo: #e15e30;
  opacity: 1;
}

.theme-empleados {
  --c-theme-primary: rgba(32, 195, 183, 1);
  --c-theme-bg: rgba(32, 195, 183, 0.10);
  --c-theme-typo: #17817d;
  opacity: 1;
}

.theme-decesos {
  --c-theme-primary: rgba(217, 0, 40, 1);
  --c-theme-bg: rgba(253, 248, 239, 1);
  --c-theme-typo: #D90028;
  opacity: 1;
}

/*****  TYPOGRAPHY  *****/
@font-face {
  font-family: "GCO";
  src: url("gco.0e20960e56.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO";
  src: url("gco-bold.c3d7fbdb3b.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO";
  src: url("gco-italic.45599218db.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "GCO";
  src: url("gco-bolditalic.04516000a0.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "GCO";
  src: url("gco-medium.c9d6be3475.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO";
  src: url("gco-mediumitalic.0750a2b2d9.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans.a872da60f1.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans-bold.c42ba1e4d1.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans-italic.dd5c1c3fe4.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans-bolditalic.3c74d7a07b.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans-medium.99968c0793.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GCO Sans";
  src: url("gcosans-mediumitalic.6a10d44ed2.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
* {
  font-family: var(--ff-secondary);
  color: var(--c-base-typo);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ff-primary);
  font-weight: 400;
}

.fs-h1,
h1 {
  font-size: var(--fs-xxxl);
  line-height: 1em;
}

.fs-h2,
h2 {
  font-size: var(--fs-xxl);
}

.fs-h3,
h3 {
  font-size: var(--fs-xl);
}

.fs-h4,
h4 {
  font-size: var(--fs-lg);
}

.fs-md,
h5 {
  font-size: var(--fs-md);
}

.fs-base,
h6 {
  font-size: var(--fs-base);
}

.fs-sm {
  font-size: var(--fs-sm);
}

p {
  font-size: var(--fs-base);
  line-height: 1.8em;
}

.occ-ff-primary {
  font-family: var(--ff-primary);
}
.occ-ff-secondary {
  font-family: var(--ff-secondary);
}

.text-balance {
  text-wrap: balance;
}
.text-pretty {
  text-wrap: pretty;
}

.tc-pink {
  color: var(--c-pink);
}

html {
  scroll-padding-top: 2rem;
}

img {
  max-width: 100%;
  width: 100%;
}

.mw {
  width: 100%;
  max-width: var(--mw);
  margin-inline: auto;
}

.ph {
  padding-inline: var(--ph);
}

.bg-primary {
  background-color: #FAF1F7;
}

.border-t {
  border-top: 2px solid var(--c-base-bg-2);
}
.border-b {
  border-bottom: 2px solid var(--c-base-bg-2);
}
.border-color-inherit {
  border-color: inherit;
}

.fc-primary {
  color: var(--c-base-primary);
}
.fc-theme {
  color: var(--c-theme-typo);
}

.sec-block__content {
  padding-block: 2rem;
  max-width: var(--content-mw);
}
.sec-block__title {
  font-size: var(--fs-xl);
  margin-bottom: 0.6em;
  text-wrap: balance;
}
.sec-block--bg {
  background-color: var(--c-theme-bg);
}
@media screen and (max-width: 768px) {
  .sec-block--mobile-center .col {
    text-align: center;
  }
}

.template-gracias .occ-main {
  min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

.occ-topnav {
  min-height: var(--header-height);
  background-color: var(--c-base-white);
  color: var(--c-base-primary);
  padding: 1.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.occ-topnav a, .occ-topnav span {
  text-decoration: none;
  color: var(--c-base-primary);
}
.occ-topnav__nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.occ-topnav__logo {
  width: 100%;
  max-width: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.occ-topnav__phone {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.2rem;
     -moz-column-gap: 0.2rem;
          column-gap: 0.2rem;
  font-weight: 500;
}
.occ-topnav__phone-icon {
  max-width: 24px;
}

.sec-hero__img-container img {
  max-width: 100%;
  height: 40vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
@media screen and (min-width: 1280px) {
  .sec-hero__img-container img {
    height: 80vh;
  }
}
@media screen and (max-width: 1280px) {
  .sec-hero__form-container {
    padding-block: 2rem;
  }
}
@media screen and (min-width: 1280px) {
  .sec-hero__form-container {
    width: 100%;
    height: var(--form-container-height);
    padding-top: 3rem;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: var(--header-height);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    pointer-events: none;
  }
  .sec-hero__form-container .occ-form {
    max-width: var(--form-mw);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 3rem;
    position: sticky;
    top: 6vh;
    pointer-events: all;
  }
}

.sec-message {
  min-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec-message a {
  color: var(--c-theme-typo);
}

.occ-footer {
  min-height: var(--footer-height);
  background-color: var(--c-base-bg-2);
  padding: 2rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.occ-footer * {
  margin-bottom: 0;
}
.occ-footer a {
  text-decoration: none;
  color: var(--c-base-typo);
}
.occ-footer ul, .occ-footer ol {
  padding-left: 0;
  margin: 0;
}
.occ-footer li {
  text-align: center;
  list-style: none;
}
.occ-footer__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.occ-footer__row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
}
.occ-footer-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.8rem;
     -moz-column-gap: 1.8rem;
          column-gap: 1.8rem;
  row-gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.occ-footer__copy {
  border-bottom: 1px solid rgba(80, 80, 80, 0.3019607843);
  padding-bottom: 0.5em;
}
@media screen and (max-width: 1280px) {
  .occ-footer {
    padding-bottom: 5.4rem;
  }
}

.occ-button {
  background: -webkit-gradient(linear, left top, left bottom, from(#DC0028), to(#DC0028));
  background: linear-gradient(top, #DC0028, #DC0028);
  color: var(--c-base-white);
  border: none;
  border-radius: var(--bt-border);
  padding: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 100;
}
.occ-button::before {
  border-radius: inherit;
  background: var(--c-base-primary-gradient);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  z-index: -1;
  -webkit-transition: opacity 0.45s;
  transition: opacity 0.45s;
}
.occ-button:hover::before {
  opacity: 1;
}

.occ-form {
  background: var(--c-base-white);
  padding: 24px;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.occ-form a:not(.occ-button) {
  color: var(--c-base-typo);
}
.occ-form__message {
  display: none;
}
.occ-form__title {
  font-size: 1.25rem;
}
.occ-form__legal {
  font-size: 0.75rem;
}
.occ-form__submit {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: var(--c-base-white);
}
.occ-form.no-client .occ-form__message {
  display: block;
}
.occ-form.no-client .occ-form__fields {
  display: none;
}

.occ-form-cta {
  width: 100%;
  border-radius: 0;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
}
@media screen and (min-width: 1280px) {
  .occ-form-cta {
    display: none;
  }
}

.checks-grid {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media screen and (min-width: 425px) {
  .checks-grid {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}

.check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  row-gap: 0.5rem;
  margin-bottom: 2rem;
}
.check__icon {
  min-width: 32px;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.check__icon path {
  fill: var(--c-theme-typo);
}
.check__title {
  font-size: var(--fs-md);
  font-weight: 500;
}
.check__content {
  margin-bottom: 0;
  font-size: 1rem;
  text-wrap: pretty;
}

.cards-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (min-width: 810px) {
  .cards-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
  }
}

.occ-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  -webkit-transform-origin: center;
          transform-origin: center;
  cursor: pointer;
}
.occ-card__img-container {
  width: 100%;
  height: 280px;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.occ-card__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.occ-card__content {
  width: 100%;
  height: 100%;
  background-color: var(--c-base-bg-2);
  -webkit-transition: all 0.35s ease-in;
  transition: all 0.35s ease-in;
}
.occ-card__header {
  min-height: 90px;
  padding: 1rem;
  border-bottom: 1px solid var(--c-theme-primary);
}
.occ-card__title {
  color: var(--c-theme-typo);
  font-size: 1rem;
  font-weight: 500;
  font-family: var(--ff-secondary);
  margin-bottom: 0;
}
.occ-card__subtitle {
  margin-bottom: 0;
  font-family: var(--ff-primary);
}
.occ-card__subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
}
.occ-card__body {
  padding: 1rem;
}
.occ-card__body * {
  font-size: 1rem;
  line-height: 1.4em;
}
.occ-card__list {
  display: none;
}
.occ-card:hover .occ-card__content {
  background-color: var(--c-base-bg-1);
}
#enlace-btn, 
#form-btn-mobile {
  padding: 0;
}
#enlace-btn a, 
#form-btn-mobile a {
  color: #FFF;
  text-decoration: none;
  display: block;
  padding: 1rem;
  width: 100%;
}
@media screen and (min-width: 810px) {
  .occ-card {
    width: 160px;
    max-width: 320px;
  }
  .occ-card__title {
    display: none;
  }
  .occ-card__subtitle {
    font-size: 1rem;
  }
  .occ-card.active {
    width: 100%;
  }
  .occ-card.active .occ-card__title {
    display: block;
  }
  .occ-card.active .occ-card__subtitle {
    font-size: 1.5rem;
  }
  .occ-card.active .occ-card__list {
    display: block;
  }
}

.checks-grid.checks-grid-img {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.occ-card__img-product {
  width: 100%;
  height: 200px;
  overflow: hidden;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.check__img-product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  row-gap: 0.5rem;
  margin-bottom: 0rem;
}