:root {
  --color-primary: #004685;
  --color-primary-rgb: 0, 70, 133;
  --color-primary-dark: #02335f;
  --color-secondary: #c4113c;
  --color-secondary-rgb: 196, 17, 60;
  --color-secondary-dark: #8f0f2e;
  --color-terciary: #cdeeff;
  --color-text: #1e1e1e;
  --color-dark-ligth: #414143;
  --color-components: #F9F9F9;
  --font-size-title: 50px;
  --font-size-title-small: 38px;
  --font-size-subtitle: 18px;
  --font-size-subtitle-large: 18px;
  --font-size-subtitle-small: 18px;
  --font-size-content-small: 16px;
  --font-size-content: 16px;
  --font-size-content-large: 20px;
  --font-size-content-extra-large: 24px;
  --font-family-poppins: "Poppins", serif;
  --font-family-urbanist: "Urbanist", serif;
  --font-family-roboto: "Roboto", serif;
  --font-family-raleway: "Raleway", sans-serif;
  --shadow-regular: 0px 4px 10px rgba(0, 0, 0, 0.15);

  /* PrimeVue Outlined Buttons Custom Branding */
  --p-button-outlined-brand-color: var(--color-secondary, #C4113C);
}

/* Base styles for PrimeVue outlined buttons - uses Branded Portal Color */
.p-button.p-button-outlined {
  border: 1px solid var(--p-button-outlined-brand-color) !important;
  color: var(--p-button-outlined-brand-color) !important;
  background-color: transparent !important;
  transition: all 0.2s ease !important;
}

.p-button.p-button-outlined:not(:disabled):hover {
  background: rgba(var(--color-secondary-rgb, 196, 17, 60), 0.05) !important;
  color: var(--p-button-outlined-brand-color) !important;
  border-color: var(--p-button-outlined-brand-color) !important;
}

/* Specific Nationwide Blue variation (if explicitly requested via .p-button-primary) */
.p-button.p-button-outlined.p-button-primary {
  border-color: var(--color-primary, #004685) !important;
  color: var(--color-primary, #004685) !important;
}

.p-button.p-button-outlined.p-button-primary:not(:disabled):hover {
  background: rgba(var(--color-primary-rgb, 0, 70, 133), 0.05) !important;
}

/* Secondary/Gray variation */
.p-button.p-button-outlined.p-button-secondary {
  border-color: #64748b !important;
  color: #64748b !important;
}

.p-button.p-button-outlined.p-button-secondary:not(:disabled):hover {
  background: rgba(100, 116, 139, 0.05) !important;
}

/* Danger variation */
.p-button.p-button-outlined.p-button-danger {
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}

.p-button.p-button-outlined.p-button-danger:not(:disabled):hover {
  background: rgba(239, 68, 68, 0.05) !important;
}


.bottomdiv .btn-secondary-text.me-4 {
  @media (width<=520px) {
    margin-right: 0 !important;
  }
}

table thead th:nth-last-child(1) {
  text-align: center;
}

table th,
table td,
f .bottomdiv .d-flex p,
.bottomdiv .d-flex a,
.sidetable p,
.sidetable a,
.topdiv .d-flex a,
.topdiv .justify-content-between p,
.bottomdiv p,
.bottomdiv a {
  font-size: 14px;
}





.sidetable {
  padding: 1rem;
  border-radius: 24px;
  background: var(--color-components);
  box-shadow: var(--shadow-regular);

  min-height: 400px;
  width: 100%;

  & .title {
    font-weight: 700;
    font-size: 14px;
    color: var(--color-secondary);
    margin: 0;
  }

  & .alertCard {
    border-radius: 8px;
    margin: 15px 0;
    padding: 5px 10px;

    & .title {
      color: var(--color-tex);
    }

    & .status {
      font-weight: 600;
      margin: 0;
    }
  }

  & .alertCard:nth-child(odd) {
    background-color: #F2F2F2;
  }

  & .alertCard:hover {
    background-color: var(--color-secondary);

    & .title,
    .theme,
    .status {
      color: white;
    }
  }
}


.bottomdiv p {
  font-size: 14px;
}

@media screen and (min-width:1000px) and (max-width:1540px) {
  /* table th,
  table td,
  .bottomdiv .d-flex p,
  .bottomdiv .d-flex a,
  .sidetable p,
  .sidetable a,
  .topdiv .d-flex a,
  .topdiv .justify-content-between p,
  .bottomdiv a{
    font-size: 11px !important;
  }
     */

  #sidebar li {
    & span {
      transition-delay: 0s;
      font-size: 12px;
    }
  }
}


.topdiv .tablecontent .justify-content-between {
  p {
    font-size: 14px;
    font-family: var(--font-family-urbanist);
    font-weight: 700;
    padding: 0;
  }

  a {
    font-size: 14px;
  }
}

.topdiv .tablecontent .row .col-4:nth-child(1) {
  padding-left: 0;
}

.topdiv .tablecontent .row .col-4 p:nth-child(3) {
  margin-top: 0;
  font-size: 13px;
}

.topdiv .tablecontent .row .col-4 p:nth-child(2) {
  margin-bottom: 0;
  font-size: 11px;
  display: list-item;

  &::marker {
    font-size: 3px;
  }
}

.topdiv .tablecontent .row .col-4:nth-last-child(1) {
  padding-right: 0;
}

.bottomdiv {
  border-radius: 24px;
  background: var(--color-components);
  box-shadow: var(--shadow-regular);

  /* height: 100px; */
  width: 100%;
  padding: 1rem;
  overflow-x: auto;

  & .title {
    color: #01204E;
    font-weight: 700;
    width: auto;
  }

  & a {
    color: var(--color-secondary);
    width: auto;
    font-size: 14px;
    font-family: var(--font-family-urbanist);
  }
}

.bottomdiv {
  & table {

    & th,
    & td {

      text-align: left;
      padding: 10px 7px;
      font-size: 12px;
    }
  }
}

.sidetable a {
  min-width: auto;

  i {
    margin-left: 5px;
    font-size: 12px;
  }
}

table td {
  font-family: var(--font-family-urbanist);
}

tbody tr td:nth-last-child(1) .button-red {
  font-size: 16px;

  i {
    font-size: 16px;
  }

  svg {
    width: 17px;
  }
}

.bottomdiv .d-flex {
  align-items: center;

  p {
    margin-bottom: 0;
  }
}

.content-actions {
  justify-content: center;
}

.centerIcon {
  display: flex;
  justify-content: center;

  /* gap: 10px;
  align-content: center;
  align-items: center;
  height: 100%;
  padding: 38% !important;
  padding-left: 18px !important;
  padding-right: 18px !important; */

  & a:not(:last-child) {
    margin-right: 7px;
  }
}

.button-dark {
  color: var(--color-text);
  padding: 0px 4px !important;
  border: none !important;

  &:hover {
    color: var(--color-text);
  }
}

.button-red {
  color: var(--color-secondary);

  &:hover {
    color: var(--color-text);

    svg path {
      fill: var(--color-text);
    }

    i {
      color: var(--color-text);
    }
  }
}

.btn-generate {
  border: 0;
  min-width: 100px;
  outline: none;
  background: var(--color-secondary);
  color: #fff !important;
  padding: 5px 15px;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-family: var(--font-family-urbanist);
  height: fit-content;
  border-radius: 50rem;
  transition: 0.4s;
  padding-inline: 15px !important;

  &:hover {
    color: #fff !important;
    background: var(--color-primary-dark);
    border-color: var(--color-primary-dark);

    i {
      color: #fff !important;
    }
  }
}

.btn-generate-secondary {
  transition: 0.4s;
  min-width: 100px;
  padding-inline: 15px !important;
  font-family: var(--font-family-urbanist);

  &:hover {
    color: #fff !important;
    background: var(--color-secondary);

    i {
      color: #fff !important;
    }
  }
}

.btn-secondary-filled {
  transition: 0.4s;
  padding-inline: 15px !important;
  font-family: var(--font-family-urbanist);

  min-width: 100px;
}

a .alertCard {
  color: var(--color-text);
}

.alertCard {
  transition: 0.4s;

  & .title,
  .theme,
  .status {
    transition: 0.4s;
  }

  &:hover {
    background-color: var(--color-secondary) !important;

    & .title,
    .theme,
    .status {
      color: white !important;
    }
  }
}

.btn-primary-filled {
  transition: 0.4s;
  min-width: 100px;
  font-family: var(--font-family-urbanist);

  height: fit-content;
  padding-inline: 15px !important;

  &:hover {
    color: #fff !important;
    background: var(--color-secondary);

    i {
      color: #fff !important;
    }
  }
}

.content-actions a {
  display: flex;
}

.content-actions i {
  color: var(--color-secondary);
}

.content-actions i:hover,
.content-actions svg:hover path,
.content-actions i:hover::before {
  color: var(--color-text);
  fill: var(--color-text);
}

.btnBlanc {
  transition: 0.4s;
  padding-inline: 15px !important;
  height: fit-content;

  &:hover {
    color: #fff;
    background: var(--color-secondary);
  }
}

.btn-secondary-filled {
  transition: 0.4s !important;
  font-family: var(--font-family-urbanist);

  height: fit-content;

  padding-inline: 15px !important;
  min-width: 100px;

  &:hover {
    color: #fff !important;
    background: var(--color-primary-dark);
    border-color: var(--color-primary-dark);

    i {
      color: #fff !important;
    }
  }
}

.btn-secondary-outlined {
  transition: 0.4s;
  height: fit-content;
  font-family: var(--font-family-urbanist);

  min-width: 100px;

  padding-inline: 15px !important;

  &:hover {
    color: #fff;
    background: var(--color-secondary);
  }
}

.btnBlanc {
  border: 0.5px solid var(--color-secondary);
  padding: 4px 14px;
  border-radius: 360px;
  background-color: white;
  color: #01204e;
}

td.status {
  font-weight: 700;
  font-family: var(--font-family-urbanist);
}

td.status-green {
  color: #0e4e01;
}

td.status-blue {
  color: var(--color-primary-dark);
}

td.status-red {
  color: var(--color-secondary);
}

.btn-secondary-text {
  padding: 6px 15px !important;
  border-radius: 50rem;
  font-family: var(--font-family-urbanist);

  height: fit-content;
  transition: 0.4s;

  &:hover {
    background: #c4113c20;
  }
}

.pagenum {
  font-size: 12px;
}

@media (width<768px) {
  :root {
    --font-size-title: 30px;
    --font-size-title-small: 27px;
    --font-size-subtitle: 18px;
    --font-size-subtitle-small: 18px;
    --font-size-subtitle-extra-small: 18px;
    --font-size-content: 16px;
    --font-size-content-large: 18px;
  }

  h2 {
    font-size: 22px;
  }

}

.bg-linear-gradient-gray {
  background: linear-gradient(180deg,
      #ffffff 0%,
      #dedede 26.04%,
      #cecece 47.92%,
      rgba(206, 206, 206, 0.51) 73.44%,
      rgba(255, 255, 255, 0) 100%);
}

.vc-pane,
.vc-weeks {
  min-width: 100% !important;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary-dark) #fff;
}

a {
  text-decoration: none !important;
}

.page-width {
  margin-inline: auto;
  max-width: 2000px;
  padding-inline: 1rem;

  @media (width>=996px) {
    padding-inline: 2rem;
  }
}

.dbg-primary {
  background: var(--color-primary);
}

.dbg-primary-dark {
  background: var(--color-primary-dark);
}

.dbg-secondary {
  background: var(--color-secondary);
}

.dbg-terciary {
  background: var(--color-terciary);
}

.span-primary-dark span {
  color: var(--color-primary-dark) !important;
}

.span-primary span {
  color: var(--color-primary) !important;
}

.text-title {
  font-size: var(--font-size-title);
  font-family: var(--font-family-poppins);
  color: #fff;
  font-weight: 400;
}

.text-title-small {
  font-size: var(--font-size-title-small);
  font-family: var(--font-family-poppins);
  color: #fff;
  font-weight: 400;
}

.text-title-black {
  font-size: var(--font-size-title);
  font-family: var(--font-family-poppins);
  color: var(--color-text);
  font-weight: 400;
}

.text-title-small-black {
  font-size: var(--font-size-title-small);
  font-family: var(--font-family-poppins);
  color: var(--color-text);
  font-weight: 400;
}

.text-subtitle-black {
  font-size: var(--font-size-subtitle);
  font-family: var(--font-family-poppins);
  color: var(--color-text);
  font-weight: 400;
}

.text-subtitle-small {
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-subtitle-small);
  color: #fff;
  font-weight: 400;
}

.text-subtitle-extra-small {
  font-size: var(--font-size-subtitle-extra-small);
  font-family: var(--font-family-plus);
  color: #fff;
}

.text-subtitle-extra-small-black {
  font-size: var(--font-size-subtitle-extra-small);
  font-family: var(--font-family-plus);
  color: var(--color-text);
}

.text-content-large {
  font-family: var(--font-family-plus);
  font-size: var(--font-size-content-large);
  font-weight: 500;
  color: var(--color-text);
}

.text-content-extra-large {
  font-family: var(--font-family-plus);
  font-size: var(--font-size-content-extra-large);
  font-weight: 500;
  color: var(--color-text);
}

.text-content {
  font-size: var(--font-size-content);
  font-family: var(--font-family-plus);
  color: var(--color-text);
}

.text-content-small {
  font-size: 16px;
  font-family: var(--font-family-plus);
  color: #fff;
}

.text-header-nav {
  font-size: var(--font-size-content-large);
  font-family: var(--font-family-roboto);
  font-weight: 700;
  color: var(--font-family-roboto);
}

.button-primary,
.button-primary-dark {
  padding: 10px 25px;
  width: fit-content;
  border: 0;
  background: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-content);
  font-family: var(--font-family-montserrat);
  border-radius: 50rem;
  position: relative;
  transition: all 0.35s;
  z-index: 1;
  overflow: hidden;
  display: flex;
  align-items: center;

  &:before,
  &:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: -100%;
    left: 0;
    background: #fff;
    z-index: -1;
    transition: all 0.35s;
  }

  & path {
    fill: #fff;
  }

  & svg {
    transition: 600ms;
  }

  &:before {
    opacity: 0.5;
  }

  &:hover {
    color: var(--color-primary);

    & path {
      fill: var(--color-primary) !important;
    }
  }

  &:after {
    transition-delay: 0.2s;
  }

  &:hover:before,
  &:hover:after {
    top: 0;
  }
}

.button-secondary {
  padding: 10px 25px;
  width: fit-content;
  background: white;
  color: var(--color-primary);
  font-size: var(--font-size-content);
  font-family: var(--font-family-montserrat);
  border: 0;

  border-radius: 50rem;
  position: relative;
  transition: all 0.35s;
  z-index: 1;
  overflow: hidden;
  display: flex;
  align-items: center;

  &:before,
  &:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: -100%;
    left: 0;
    background: var(--color-primary);
    z-index: -1;
    transition: all 0.35s;
  }

  & svg {
    transition: 600ms;
  }

  & path {
    transition: all 0.35s;
  }

  &:hover {
    color: #fff;

    & path {
      fill: #fff !important;
    }
  }

  &:before {
    opacity: 0.5;
  }

  &:after {
    transition-delay: 0.2s;
  }

  &:hover:before,
  &:hover:after {
    top: 0;
  }
}

.button-primary-dark {
  background: var(--color-primary-dark);
}

.button-primary-dark:hover svg,
.button-secondary:hover svg,
.button-primary:hover svg {
  transform: rotate(0deg);
  transition: 600ms;
}

.btn-orange {
  padding: 10px 25px;
  background: var(--color-coral);
  color: #fff;
  font-size: var(--font-size-content);
  font-family: var(--font-family-plus);
  border-radius: 50rem;
  position: relative;
  transition: 0.7s;
  z-index: 1;
  overflow: hidden;
  display: flex;
  align-items: center;

  &::after {
    content: "";
    background: var(--color-green);
    /* color de fondo hover */
    position: absolute;
    z-index: -1;
    padding: 10px 25px;
    display: block;
    border-radius: 50%;
    left: -50%;
    right: -50%;
    top: -150%;
    bottom: -150%;
    transform: scale(0, 0);
    transition: all 0.4s ease;
  }

  &:hover::after {
    transition: all 0.6s ease-out;
    transform: scale(1, 1);
  }
}

html,
body {
  height: 100%;
  width: 100%;
}

body {
  /*overflow-x: hidden;*/
  max-width: 100vw;

  width: 100%;
}

#page {
  width: 100%;
  padding-top: calc(var(--height-header) + 30px);
}

.btn-green-icon,
.btn-orange-icon {
  width: 20px;
  display: inline-flex;
  fill: #fff;
  margin-left: 8px;
}

.btn-green-icon-secondary {
  width: 20px;
  display: inline-flex;
  fill: var(--color-primary);
  margin-left: 8px;
}

.bg-linear-gradient-green {
  background: linear-gradient(357.95deg,
      rgba(242, 247, 251, 0.1) 1.42%,
      rgba(42, 157, 143, 0.8) 97.98%);
}

.bg-linear-gradient-green-inverted {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(42, 157, 143, 0.6) 100%);
}

.ff-jost {
  font-family: "Jost", serif;
}

.ff-plus-jakarta-sans {
  font-family: "Plus Jakarta Sans", serif;
}

.ff-montserrat {
  font-family: var(--font-family-montserrat);
}

.ff-poppins {
  font-family: var(--font-family-poppins), serif;
}

.ff-roboto {
  font-family: var(--font-family-roboto);
}

.ff-urbanist {
  font-family: var(--font-family-urbanist);
}

.ff-raleway {
  font-family: var(--font-family-raleway);
}

.color-white {
  color: white;
}

.color-primary {
  color: var(--color-primary);
}

.color-primary-dark {
  color: var(--color-primary-dark);
}

.color-dark-light {
  color: var(--color-dark-ligth);
}

.color-secondary {
  color: var(--color-secondary);
}

.color-terciary {
  color: var(--color-terciary);
}

.fs-title {
  font-size: var(--font-size-title);
}

.fs-title-small {
  font-size: var(--font-size-title-small);
}

.fs-subtitle {
  font-size: var(--font-size-subtitle);
}

.fs-subtitle-small {
  font-size: var(--font-size-subtitle-small);
}

.fs-subtitle-large {
  font-size: var(--font-size-subtitle-large);
}

.fs-content {
  font-size: var(--font-size-content);
}

.fs-content-small {
  font-size: var(--font-size-content-small);
}

.fs-content-large {
  font-size: var(--font-size-content-large);
}

.fs-content-extra-large {
  font-size: var(--font-size-content-extra-large);
}

ol,
ul {
  padding-left: 5px;
  padding-right: 5px;
}

a {
  --bs-link-color: var(--color-primary);
  --bs-link-color-rgb: var(--color-primary-rgb);
  transition: 0.4s;
}

a:hover {
  --bs-link-color: var(var(--color-secondary));
  --bs-link-color-rgb: var(--color-secondary-rgb);
}

.slideUp {
  animation: slideUp 0.5s ease;
  animation-fill-mode: forwards;
}

@keyframes slideUp {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(0);
  }
}

body:not(.loaded-vue) .hide-away * {
  opacity: 0;
}

dl,
ol,
ul {
  margin-bottom: 0;
}

[class^=swal2] {
  grid-column: 1 / 3;
}

#wpadminbar {
  display: none !important;
}

.swal2-container.swal2-center.swal2-backdrop-show {
  z-index: 55555;
}

.content-wrapper.page-width {
  padding-top: 20px;
}

.p-multiselect-label {
  white-space: wrap;
}

.p-multiselect-token {
  margin: 2px;
}

.p-tabview-nav {
  margin-bottom: 15px;
}

.container-body {
  width: calc(100% - 80px);
  transition: all .45s ease-in-out;
  margin-left: auto;
}

.container-body.expand {
  width: calc(100% - 220px);
  transition: all .45s ease-in-out;
  margin-left: auto;
}

.p-tabview-panels {
  padding: 0;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-secondary);
  --bs-btn-hover-bg: var(--color-secondary);
  --bs-btn-hover-border-color: var(--color-secondary);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(var(--color-secondary-dark));
  --bs-btn-active-border-color: var(var(--color-secondary-dark));
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--color-secondary);
  --bs-btn-disabled-border-color: var(--color-secondary);
}

/* Filter */
.min-height-dropdown {
  min-height: 40px !important;
}

.sidetable .pagination {
  overflow: hidden;
}

@media (max-width: 768px) {
  .p-dialog {
    width: 100vw !important;
  }

  .p-dialog .p-dialog-content {
    padding: 0.5rem;
  }

  .acf-simple-field {
    width: 100% !important;
  }
}

@media (max-width: 991px) {
  .container-body {
    margin: 0 !important;
  }
}

@media (min-width: 1200px) {

  .h1,
  h1 {
    font-size: 1.5rem;
  }
}

.swal2-html-container li {
  list-style: none !important;
}

.p-datatable-header>div {
  flex-wrap: wrap;
  width: 100%;
}

.p-multiselect-panel {
  z-index: 444444 !important;
}