/*
*  COMPONENTS
*  Estilos para los componentes del sitio web
*/

/* <<< Contenido >>
* - Fuentes
* - Backgrounds
* - Imágenes
* - Cards
* - Enlaces
* - Botones
* - Sections
* - Videos
*/

@charset 'UTF8';

@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

:root {
  --title: 32px;
  --subtitle-1: 28px;
  --subtitle-2: 22px;
  --subtitle-3: 18px;
  --subtitle-4: 20px;
  --text: 16px;
  --typography: font-family: 'Nunito', sans-serif;
  --primary-color: #960025;
  --dark-color: #000000;
  --grey-color: #dfe6e9;
  --plyr-color-main: #960025;
  --blue: #960025
}

html {
  font-family: var(--typography) !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* << FONTS >> */

.title {
  border-bottom: 3px solid var(--primary-color);
  display: inline-block !important;
  font-size: var(--title);
  color: var(--dark-color);
}

.subtitle-1 {
  font-size: var(--subtitle-1);
  color: var(--dark-color);
}

.subtitle-2 {
  font-size: var(--subtitle-2);
  color: var(--dark-color);
}

.subtitle-3 {
  font-size: var(--subtitle-3);
  color: var(--dark-color);
  border-bottom: 3px solid var(--primary-color);
}

.subtitle-4 {
  font-size: var(--subtitle-4);
  color: var(--dark-color);
  font-weight: 600;
  text-align: center;
  width: 95vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 16px;
  box-sizing: border-box;
}

.subtitle-1-border {
  font-size: var(--subtitle-1);
  color: var(--dark-color);
  border-bottom: 3px solid var(--primary-color);
}

.subtitle-2-border {
  font-size: var(--subtitle-2);
  color: var(--dark-color);
  border-bottom: 3px solid var(--primary-color);
}

.text {
  font-size: var(--text);
  color: var(--dark-color);
}

.text-bold {
  font-weight: bold !important;
  color: var(--dark-color) !important;
}

.text-primary-bold {
  font-weight: bold !important;
  color: var(--primary-color) !important;
}

/* << ALINGMENT >> */

.center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.related-card_titulo h2 {
  border-bottom: 3px solid #960025
}

.btn-action:hover {
  background: #960025;
}

a.text-primary {
  color: #044aef !important;
}
/* << SPACING >> */

/* Márgenes */

.mx-auto {
  margin: 15px !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.ml-1 {
  margin-left: 10px !important;
}

.ml-2 {
  margin-left: 15px !important;
}

.ml-3 {
  margin-left: 20px !important;
}

.mr-1 {
  margin-right: 10px !important;
}

.mr-2 {
  margin-right: 15px !important;
}

.mr-3 {
  margin-right: 20px !important;
}

.mt-1 {
  margin-top: 10px !important;
}

.mt-2 {
  margin-top: 15px !important;
}

.mt-3 {
  margin-top: 20px !important;
}

.mb-1 {
  margin-bottom: 10px !important;
}

.mb-2 {
  margin-bottom: 15px !important;
}

.mb-3 {
  margin-bottom: 20px !important;
}

.mb-4 {
  margin-bottom: 30px !important;
}

/* Padding */

.p-auto {
  padding: 30px !important;
}

.pl-auto {
  padding-left: auto !important;
}

.pr-auto {
  padding-right: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.pl-1 {
  padding-left: 10px;
}

.pl-2 {
  padding-left: 15px;
}

.pl-3 {
  padding-left: 20px;
}

.pr-1 {
  padding-right: 10px;
}

.pr-2 {
  padding-right: 15px;
}

.pr-3 {
  padding-right: 20px;
}

.pt-1 {
  padding-top: 10px;
}

.pt-2 {
  padding-top: 15px;
}

.pt-3 {
  padding-top: 20px;
}

.pb-1 {
  padding-bottom: 10px;
}

.pb-2 {
  padding-bottom: 15px;
}

.pb-3 {
  padding-bottom: 20px;
}

/* << BORDER >> */
.br-1 {
  border-radius: 5px !important;
}

.br-2 {
  border-radius: 10px !important;
}

.br-3 {
  border-radius: 30px !important;
}

/* << BOX SHADOW >> */

.bs-1 {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.bs-2 {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.bs-3 {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

/* << BORDER >> */
.b-1 {
  border: 0.8px solid #dfe6e9 !important;
}

.b-2 {
  border: 1.5px solid #dfe6e9 !important;
}

.b-3 {
  border: 2px solid #dfe6e9 !important;
}

/* << FLEX >> */

.d-flex {
  display: flex !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

/* Main Axis */

.justify-content-start {
  justify-content: start !important;
}

.justify-content-end {
  justify-content: end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

/* Cross Axis */

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

/* << OPACITY >> */

.op-100 {
  opacity: 100% !important;
}

.op-75 {
  opacity: 75% !important;
}

.op-50 {
  opacity: 50% !important;
}

.op-25 {
  opacity: 50% !important;
}

/* << BACKGROUNDS >> */

.bg-primary {
  background-color: var(--primary-color) !important;
}

.bg-secondary {
  background-color: #dfe6e9 !important;
}

.bg-secondary-2 {
  background-color: #fafafa !important;
}

.bg-dark {
  background-color: var(--dark-color) !important;
}

.bg-light {
  background-color: #FFFFFF;
}

/* << TEXT >> */

.text-primary {
  color: var(--primary-color) !important;
}

.text-dark {
  color: var(--dark-color) !important;
}

.text-light {
  color: #ffffff !important;
}

/* << SIZING >> */

/* width */
.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

/*height */

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

/* << OVERFLOW >> */

.ofw-auto {
  overflow: auto !important;
}

.ofw-hidden {
  overflow: hidden !important;
}

.ofw-visible {
  overflow: visible !important;
}

.ofw-visible {
  overflow: scroll !important;
}

/* << VISIBILITY >> */

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-block {
  display: block !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

/* << FLOAT >> */

f-none {
  float: none !important;
}

.f-left {
  float: left !important;
}

.f-right {
  float: right !important;
}

/* << POSITION >> */
.p-relative {
  position: relative !important;
}

.p-absolute {
  position: absolute !important;
}

.top-0 {
  top: 0 ;
}

.top-5 {
  top: 5% !important;
}

.top-10 {
  top: 10% !important;
}

.top-20 {
  top: 20% !important;
}

.top-30 {
  top: 30% !important;
}

.top-40 {
  top: 40% !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.left-0 {
  left: 0 !important;
}

.left-5 {
  left: 5% !important;
}

.left-10 {
  left: 10% !important;
}

.left-20 {
  left: 20% !important;
}

.left-30 {
  left: 30% !important;
}

.left-40 {
  left: 40% !important;
}

.left-50 {
  left: 50% !important;
}

.left-100 {
  left: 100% !important;
}

.right-0 {
  right: 0 ;
}

.right-5 {
  right: 5% !important;
}

.right-10 {
  right: 10% !important;
}

.right-20 {
  right: 20% !important;
}

.right-30 {
  right: 30% !important;
}

.right-40 {
  right: 40% !important;
}

.right-50 {
  right: 50% !important;
}

.right-100 {
  right: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-5 {
  bottom: 5% !important;
}

.bottom-10 {
  bottom: 10% !important;
}

.bottom-20 {
  bottom: 20% !important;
}

.bottom-30 {
  bottom: 30% !important;
}

.bottom-40 {
  bottom: 40% !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 50% !important;
}

/* << Z-INDEX >> */

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

/* << IMAGES >> */

.img-responsive{
  max-width: 100%;
  height: auto;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  width: 200px;
  height: 200px;
}

.img-poster{
  position: relative;
}

.img-poster img{
  display: block;
  width: 100%;
  height: auto;
}

.more-info {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background-color: #00000010;
  border-radius: 10px;
  cursor: pointer;
}

.img-poster:hover .more-info {
  opacity: 1;
}

.more-info p {
  color: rgba(143, 143, 143, 0.671);
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.section-background {
  width: 100%;
  height: 450px !important;
  padding: 30px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}

.section-background-detail {
  width: 100%;
  height: auto;
  padding: 30px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}

.overlay-background {
  height: 0;
  width: 100%;
  position: fixed;
  z-index: 9999999;
  top: 0;
  left: 0;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
  overflow: hidden;
  transition: .5s;
}

.overlay-content {
  position: relative;
  top: 25%;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.overlay-background .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  text-decoration: none;
}



/* << CARDS >> */

.card {
  width: 100%;
  height: 400px;
  background: #ffffff;
  border-radius: 0 0 10px 10px;
  border-radius: 10px;
  cursor: pointer;
  border: 1.5px solid #ecf0f3;

}

.card-image {
  width: 100%;
  height: 400px;
  border-radius: 0 0 10px 10px;
  border-radius: 10px;
  cursor: pointer;
}

.card-img-header {
  position: relative;
  height: 160px;
  border-radius: 10px;
  background: #00000073;
  overflow: hidden;
  margin-bottom: 10px;
}

.card-img-header img {
  width: 100%;
  height: auto;
  object-fit: cover;
  opacity: 1;
}

/* .card-image:hover img {
  opacity: 0.45;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(1.05, 1.05, 1);
  transform: scale(1.05, 1.05, 1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  background: transparent;
} */

.card:hover {
  box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%) !important;
}

.card-header {
  position: relative;
  height: 200px;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.card-header img {
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 1;
}

/* .card:hover img {
  opacity: 0.45;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(1.05, 1.05, 1);
  transform: scale(1.05, 1.05, 1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
} */



.card-image-content {
  background-color: rgba(0, 0, 0, 0.300);
  padding: 10px;
  border-radius: 10px;
}

.card-body {
  height: 62%;
  overflow-y: auto;
  padding: 15px;
  border-radius: 0 0 10px 10px;
  z-index: 1;
}

.card-title {
  font-size: var(--subtitle-3);
  margin: 5px 0;
  border-bottom: 3px solid var(--primary-color);
}

.card-subtitle {
  font-size: 15px;
  font-weight: lighter;
  color: #778ca3;
  margin: 5px 0;
}

.card-text {
  margin-top: 10px;
  font-size: var(--text);
}


/* << BUTTONS >> */

.btn-close {
  background-color: transparent;
  padding: 10px 20px;
  color: #FFFFFF;
  font-size: 40px;
  font-weight: 600;
  cursor: pointer;
  line-height: inherit;
  transition: 0.25s ease;
  text-align: center;
  border-radius: 6px;
  z-index: 100;
}

.btn-close-dark {
  background-color: #ff4757;
  color: #ffffff;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  font-size: 25px;
  font-weight: 600;
  cursor: pointer;
  line-height: normal;
  transition: 0.25s ease;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -20px;
  left: -20px;
  box-shadow: 0 2px 5px 0 rgb(0 0 0 / 25%);
  z-index: 9999;
}

.btn-primary {
  background-color: #960025;
  padding: 10px 20px;
  /* padding: 0px 20px; */
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  line-height: inherit;
  transition: 0.25s ease;
  text-align: center;
  border-radius: 6px;
}

.btn-primary-outline {
  background-color: transparent;
  padding: 10px 20px;
  border-radius: 6px;
  border-width: 2px;
  border-style: solid;
  color: #960025;
  border-color: #960025;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  line-height: inherit;
  transition: 0.25s ease;
  text-align: center;
  border-radius: 5px;
}

.btn-primary-flat {
  background-color: transparent;
  padding: 10px 20px;
  border-radius: 6px;
  color: #960025;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  line-height: inherit;
  transition: 0.25s ease;
  text-align: center;
  border-radius: 5px;
}

.btn-close:hover {
  color: #960025;
}

.btn-primary:hover {
  opacity: 0.75;
}

.btn-primary-outline:hover {
  color: #FFFFFF;
  background-color: #960025;
  border-color: #960025;
}

.btn-primary-flat:hover {
  color: #FFFFFF;
  background-color: #960025;
  border-color: #960025;
}


.btn-lg {
  font-size: 20px !important;
  /* height: 50px; */
}

.btn-sm {
  font-size: 16px !important;
}

.btn-xs {
  font-size: 14px !important;
}

/* << SECTIONS >> */

.section {
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
}

/* << LISTAS >> */

/* Estilo de lista 1 */
.list-group {
  padding-left: 0px;
  margin-bottom: 40px;
}

.list-group li {
  list-style: none;
  position: relative;
  padding-left: 45px;
  margin-bottom: 15px;
  color: #778ca3;
}

.list-group li::before {
  content: "✔";
  position: absolute;
  width: 15px;
  height: 15px;
  left: 20px;
  top: 0px;
  transform: translateX(-50%);
  background-color: #000000;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px !important;
}

/* Estilo de lista 2 */

.list-group-primary {
  padding-left: 0px;
  margin-bottom: 40px;
}

.list-group-primary li {
  list-style: none;
  position: relative;
  padding-left: 45px;
  margin-bottom: 15px;
  color: #000000;
}

.list-group-primary li::before {
  content: "✔";
  position: absolute;
  width: 15px;
  height: 15px;
  left: 20px;
  top: 0px;
  transform: translateX(-50%);
  background-color: var(--primary-color);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px !important;
}

/* << VIDEOS >> */
.plyr {
  height: 100% !important;
  width: 80%;
  max-width: 100%;
  border-radius: 10px;
}

.plyr__poster {
  background-size: cover !important;
}

.plyr--video {
  background: #FFFFFF !important;
}

/* << ACCORDION >> */

.accordion {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: end;
}

.accordion-item {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--primary-color);
  height: 100%;
  width: 50px;
  box-shadow: 0 2px 5px 0 rgb(0 0 0 / 25%);
  cursor: pointer;
}

.accordion-item span {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  font-size: 18px;
  color: #FFFFFF;
}

/* << ACCORDIONS >> */

.accordion-box {
  width: 100%;
  border-radius: 5px;
}

.accordion-content {
  transition: all 0.4s;
  border-radius: 0.4rem;
}

.accordion-content:first-child {
  margin-top: 0 !important;
}

.accordion-content:last-child {
  margin-bottom: 0 !important;
}

.accordion-content .accordion-header {
  background-color: var(--primary-color) !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%) !important;
  display: flex;
  cursor: pointer;
  height: 40px;
  padding: 10px;
  align-items: center;
  border-radius: 0.4rem;
  justify-content: space-between;
  font-size: 16px;
}

.accordion-content .accordion-header h3,
.accordion-content .heaaccordion-headerder i {
  pointer-events: none;
}

.accordion-content .accordion-header i {
  font-size: 18px;
  margin-right: 15px;
}

.accordion-content .accordion-body {
  height: auto;
  display: none;
  margin-top: 0.5rem;
  margin: 5px;
}

.accordion-content.active {
  margin: 10px 0px;
}

.accordion-content.active .accordion-body {
  margin-top: 10px;
  display: block;
  padding-bottom: 0.5rem;
}

.accordion-content.active .accordion-header {
  background-color: rgb(116 185 255 / 57%);
}

.accordion-content.active .accordion-header i {
  transition: all 0.3s;
  transform: rotate(90deg);
}

/* << COOKIES POPUP >> */

.cookies-container {
  color: #222;
  font-family: "Open Sans", "Helvetic Neue", sans-serif;
  position: fixed;
  z-index: 1000;
  width: 100%;
  bottom: 0;
}

.cookies-content {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .80) !important;
  background: var(--primary-color);
  color: #FFFFFF;
  width: 100%;
  padding: 1rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
  opacity: 0;
  transform: translateY(1rem);
  animation: slideUp .5s forwards;
}

.cookies-pref label {
  margin-right: 1rem;
}

.cookies-save {
  grid-column: 2;
  grid-row: 1 / 3;
  font-family: "Open Sans", "Helvetic Neue", sans-serif;
  font-size: 1rem;
  background: #ffffff;
  color: #000000;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  padding: 0.8rem 1rem;
}
.containerCookies {
  border-top: 2px solid #a11a41
}
.cookiesButton {
  background-color: #a11a41;
}

.nav-menu > li:hover > a,
.nav-menu > li.active > a,
.nav-menu > li.focus > a {
  background: #a11a41;
  font-weight: bold;
}

.square-txt {
  background: var(--primary-color);
}

@keyframes slideUp {
  to {
    transform: initial;
    opacity: initial;
  }
}


/* << COOKIES POPUP >> */

.cookies-container {
  color: #222;
  font-family: "Open Sans", "Helvetic Neue", sans-serif;
  position: fixed;
  z-index: 1000;
  width: 100%;
  bottom: 0;
}

.cookies-content {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .80) !important;
  background: #960025;
  color: #FFFFFF;
  width: 100%;
  padding: 1rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
  opacity: 0;
  transform: translateY(1rem);
  animation: slideUp .5s forwards;
}

.cookies-pref label {
  margin-right: 1rem;
}

.cookies-save {
  grid-column: 2;
  grid-row: 1 / 3;
  font-family: "Open Sans", "Helvetic Neue", sans-serif;
  font-size: 1rem;
  background: #ffffff;
  color: #000000;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  padding: 0.8rem 1rem;
}

@keyframes slideUp {
  to {
    transform: initial;
    opacity: initial;
  }
}


/* << MODALS >> */
.modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999999999;
}

.modal__container {
  /* background-color: #fff;
  padding: 30px; */
  /* max-width: 500px; */
  /* width: 80vw;
  max-height: 80vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box; */
  background-color: #fff; 
  padding: 30px; max-width: 500px; 
  width: 67vw; 
  max-height: 80vh; 
  border-radius: 4px; 
  overflow-y: auto; 
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: -10px;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.45rem;
  line-height: 1.25;
  color: var(--primary-color);
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 20px;
}

.modal__content {
  margin-top: 1rem;
  margin-bottom: 0rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, .8);
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, .8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out, -webkit-transform .25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #81122c;
  color: #fff;
}


@keyframes mmfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-10%);
  }
}

.inolab-modal {
  display: none;
}

.inolab-modal.is-open {
  display: block;
}

.inolab-modal[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.inolab-modal[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.inolab-modal[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.inolab-modal[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}


/* << RADIOS >> */
.container-rb {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.container-rb input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.container-rb .rb-checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 50%;
}


.container-rb:hover input ~ .rb-checkmark {
  background-color: #ccc;
}

.container-rb input:checked ~ .rb-checkmark {
  background-color: var(--primary-color);
}


.rb-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.container-rb input:checked ~ .rb-checkmark:after {
  display: block;
}

.container-rb .rb-checkmark:after {
 	top: 9px;
	left: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}


/* << CHECKBOXS >> */


.container-chk {
  display: inline;
  position: relative;
  padding-left: 35px;
  padding-right: 10px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


.container-chk input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #eee;
}


.container-chk:hover input~.checkmark {
  background-color: #ccc;
}


.container-chk input:checked~.checkmark {
  background-color: var(--primary-color);
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}


.container-chk input:checked~.checkmark:after {
  display: block;
}


.container-chk .checkmark:after {
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #FFFFFF;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


/* Galería de Imágenes */

.lg-progress-bar .lg-progress {
  background-color: var(--primary-color) !important;
}

.lg-toolbar {
  background-color: rgb(0 0 0 / 80%) !important;
}

.lg-sub-html {
  background-color: rgb(0 0 0 / 80%) !important;
}

.lg-toolbar .lg-icon {
  color: #FFFFFF !important
}

.lg-toolbar .lg-icon:hover {
  color: var(--primary-color) !important;
}

#lg-counter {
  color: #FFFFFF !important;
}

.lg-backdrop {
  background-color: #FFFFFF !important;
}

.lg-next, .lg-prev  {
  background-color: rgb(0 0 0 / 80%) !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 100% !important;
}


/* << SELECT >> */

select {

  appearance: none;
  outline: 0;
  border: 0;
  box-shadow: none;
  flex: 1;
  padding: 0 1em;
  color: #000000;
  background-color: #FFFFFF;
  background-image: none;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.select {
  position: relative;
  display: flex;
  width: 200px;
  height: 30px;
  border-radius: .25em;
  overflow: hidden;
}

.select::after {
  content: '\25BC';
  position: absolute;
  top: 0;
  right: 0;
  padding: 8px;
  background-color: #FFFFFF;
  transition: .25s all ease;
  pointer-events: none;
}

.select:hover::after {
  color: var(--primary-color);
}

.megamenu-list > li > a:hover {
  background-color: #a11a41 !important;
}
