
/* Fonts */
:root {
  --default-font: "Roboto",  system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Raleway",  sans-serif;
  --nav-font: "Raleway",  sans-serif;
}

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root { 
  --background-color: #ffffff; /* Background color for the entire website, including individual sections */
  --default-color: #2f3138; /* Default color used for the majority of the text content across the entire website */
  --heading-color: #0e1b4d; /* Color for headings, subheadings and title throughout the website */
  --accent-color: #ED1B24; /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
  --contrast-color: #ffffff; /* The contrast color is used for elements when the background color is one of the heading, accent, or default colors. Its purpose is to ensure proper contrast and readability when placed over these more dominant colors */
  --color-secundario:#01A0DF;
}

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
:root {
  --nav-color: rgba(255, 255, 255, 1);  /* The default color of the main navmenu links */
  --nav-hover-color: #ffffff; /* Applied to main navmenu links when they are hovered over or active */
  --nav-dropdown-background-color: #ffffff; /* Used as the background color for dropdown items that appear when hovering over primary navigation items */
  --nav-dropdown-color: #212529; /* Used for navigation links of the dropdown items in the navigation menu. */
  --nav-dropdown-hover-color: #ED1B24; /* Similar to --nav-hover-color, this color is applied to dropdown navigation links when they are hovered over. */
}

/* Template Custom Colors */
:root {
  --alt-background-color: #000820;
}

/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}


/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font);
}

a {
  color: var(--accent-color);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
}


::selection {
  background-color: var(--color-secundario); 
  color:#5f687b; 
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  background: #fff;
  transition: all 0.5s;
  z-index: 997;
  padding: 20px 0;
}

#header.header-scrolled {
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
  padding: 12px 0;
}



#header .logo a {
  color: var(--heading-color);
}

#header .logo img {
  max-height: 40px;
}

@media (max-width: 991px) {
  #header {
    padding: 12px 0;
  }
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-family: var(--nav-font);
  font-size: 16px;
  font-weight: 700;
  color: #6a7489;
  white-space: nowrap;
  transition: 0.3s;
}

.navbar a i,
.navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color:var(--color-secundario);
}

.navbar .getstarted,
.navbar .getstarted:focus {
  padding: 10px 25px;
  margin-left: 30px;
  border-radius: 4px;
  line-height: 1;
  color:var(--heading-color);
  font-size: 14px;
  font-weight: 500;
  border: 1px solid #cdd1d9;
}

.navbar .getstarted:hover,
.navbar .getstarted:focus:hover {
  background: var(--color-secundario);
  color: #fff;
  border-color: var(--color-secundario);
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
  border-radius: 4px;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  font-size: 15px;
  text-transform: none;
  font-weight: 600;
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
  color: var(--color-secundario);
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}

@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }

  .navbar .dropdown .dropdown:hover>ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
  color: var(--heading-color);
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
  color: #fff;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(73, 80, 94, 0.9);
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  border-radius: 10px;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 15px;
  color: #5f687b;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: var(--color-secundario);
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
  padding: 10px 15px;
}

.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown ul li {
  min-width: 200px;
}

.navbar-mobile .dropdown ul a {
  padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
  color: var(--color-secundario);
}

.navbar-mobile .dropdown>.dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# inicio Section
--------------------------------------------------------------*/
#inicio {
  width: 100%;
  height: 100vh;
  background: #fff;
  padding-top: 82px;
}

#inicio h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: var(--heading-color);
}

#inicio h2 {
  color: #858ea1;
  margin: 10px 0 30px 0;
  font-size: 24px;
}

#inicio .btn-get-started {
  font-family: var(--heading-font);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 30px 10px 30px;
  border-radius: 4px;
  transition: 0.5s;
  color: #fff;
  background: #0196D9; 
  box-shadow: 0 8px 28px rgba(1, 150, 217, 0.45);
}

#inicio .btn-get-started:hover {
  background: #ED1B24;
  box-shadow: 0 8px 28px rgba(237, 27, 36, 0.45);
}

#inicio .btn-watch-video {
  font-size: 16px;
  display: inline-block;
  transition: 0.5s;
  margin-left: 25px;
  color: var(--heading-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#inicio .btn-watch-video i {
  color: var(--heading-color);
  font-size: 32px;
  line-height: 0;
  margin-right: 8px;
}

#inicio .btn-watch-video:hover i {
  color: var(--accent-color);
}

#inicio .animated {
  animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

@media (max-width: 991px) {
  #inicio {
    height: 100vh;
  }

  #inicio .animated {
    animation: none;
  }

  #inicio .inicio-img {
    text-align: center;
  }

  #inicio .inicio-img img {
    width: 50%;
  }
}

@media (max-width: 768px) {
  #inicio {
    height: auto;
  }

  #inicio h1 {
    font-size: 28px;
    line-height: 36px;
  }

  #inicio h2 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 30px;
  }

  #inicio .inicio-img img {
    width: 70%;
  }
}

@media (max-width: 575px) {
  #inicio .inicio-img img {
    width: 80%;
  }
}

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(-10px);
  }
}






/*--------------------------------------------------------------
# Global Footer
--------------------------------------------------------------*/
.footer {
  --background-color: var(--alt-background-color);
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --contrast-color: #ffffff;
  color: var(--default-color);
  background-color: var(--background-color);
  font-size: 14px;
  position: relative;
}

.footer .footer-top {
  background-color: color-mix(in srgb, var(--background-color), white 5%);
  padding-top: 50px;
}

.footer .footer-about .logo {
  line-height: 1;
  margin-bottom: 25px;
}

.footer .footer-about .logo img {
  max-height: 40px;
  margin-right: 6px;
}

.footer .footer-about .logo span {
  color: var(--heading-color);
  font-family: var(--heading-font);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 1px;
}

.footer .footer-about p {
  font-size: 14px;
  font-family: var(--heading-font);
}

.footer h4 {
  font-size: 16px;
  font-weight: 600;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.footer h4::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  background: var(--accent-color);
  bottom: 0;
  left: 0;
}

.footer .footer-links {
  margin-bottom: 30px;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul i {
  padding-right: 2px;
  font-size: 12px;
  line-height: 0;
}

.footer .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  display: inline-block;
  line-height: 1;
}

.footer .footer-links ul a:hover {
  color: var(--accent-color);
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .copyright {
  padding: 30px 0;
}

.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 5px;
  font-size: 13px;
}

.footer .social-links a {
  font-size: 18px;
  display: inline-block;
  background: color-mix(in srgb, var(--default-color), transparent 90%);
  color: var(--contrast-color);
  line-height: 1;
  padding: 8px 0;
  margin-right: 4px;
  border-radius: 4px;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

.footer .social-links a:hover {
  background: var(--accent-color);
  text-decoration: none;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: var(--background-color);
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: var(--accent-color) transparent var(--accent-color) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
  --background-color: #262880;
  --heading-color: var(--contrast-color);
  --default-color: var(--contrast-color);
  color: var(--default-color);
  background-color: var(--background-color);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 160px 0 80px 0;
  text-align: center;
  position: relative;
}

.page-title:before {
  content: "";
  background-color: color-mix(in srgb, var(--background-color), transparent 16%);
  position: absolute;
  inset: 0;
}

.page-title h1 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 10px;
}

.page-title .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}

.page-title .breadcrumbs ol li+li {
  padding-left: 10px;
}

.page-title .breadcrumbs ol li+li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: color-mix(in srgb, var(--default-color), transparent 50%);
}

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 60px 0;
  scroll-margin-top: 92px;
  overflow: clip;
}

@media (max-width: 1199px) {

  section,
  .section {
    scroll-margin-top: 76px;
  }
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
  text-align: center;
  padding-bottom: 60px;
  position: relative;
}

.section-title h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}

.section-title h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: var(--accent-color);
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.section-title p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# inicio Section
--------------------------------------------------------------*/
.inicio {
  --default-color: #ffffff;
  --background-color: #010922;
  --heading-color: #ffffff;
  width: 100%;
  min-height: 100vh;
  position: relative;
  padding: 100px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.inicio img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.inicio:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 30%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

.inicio .container {
  position: relative;
  z-index: 3;
}

.inicio h2 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
}

.inicio h2 span {
  color: var(--accent-color);
}

.inicio p {
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  margin: 10px 0 0 0;
  font-size: 24px;
}

@media (max-width: 768px) {
  .inicio h2 {
    font-size: 32px;
    line-height: 36px;
  }

  .inicio p {
    font-size: 18px;
    line-height: 24px;
  }
}

.inicio .play-btn {
  margin-top: 20px;
  width: 94px;
  height: 94px;
  background: radial-gradient(var(--accent-color) 50%, color-mix(in srgb, var(--accent-color), transparent 75%) 52%);
  border-radius: 50%;
  display: block;
  overflow: hidden;
  position: relative;
}

.inicio .play-btn:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  animation-delay: 0s;
  animation: pulsate-btn 2s;
  animation-direction: forwards;
  animation-iteration-count: infinite;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid color-mix(in srgb, var(--accent-color), transparent 30%);
  top: -15%;
  left: -15%;
  background: rgba(198, 16, 0, 0);
}

.inicio .play-btn:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.inicio .play-btn:hover:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 200;
  animation: none;
  border-radius: 0;
}

.inicio .play-btn:hover:after {
  border-left: 15px solid var(--accent-color);
  transform: scale(20);
}




@keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }

  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}

/*--------------------------------------------------------------
# programas Section
--------------------------------------------------------------*/
.programas {
  --default-color: #ffffff;
}

.programas .member {
  text-align: center;
  position: relative;
  overflow: hidden;
}

.programas .member .member-info {
  position: absolute;
  padding: 15px 0;
  inset: auto 0 -44px 0;
  background: rgba(0, 0, 0, 0.6);
  transition: 0.4s;
}

.programas .member .member-info-content h4 {
  color: var(--contrast-color);
  font-weight: 700;
  margin-bottom: 4px;
  font-size: 16px;
}

.programas .member .member-info-content h4 a {
  color: var(--contrast-color);
}

.programas .member .member-info-content h4 a:hover {
  color: var(--accent-color);
}

.programas .member .member-info-content span {
  font-style: italic;
  display: block;
  font-size: 13px;
}

.programas .member .social {
  text-align: center;
  padding-top: 10px;
}

.programas .member .social a {
  transition: color 0.3s;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin: 0 4px;
  display: inline-block;
}

.programas .member .social a:hover {
  color: var(--default-color);
}

.programas .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

.programas .member:hover .member-info {
  bottom: 0;
}


/*--------------------------------------------------------------
# sedes Section
--------------------------------------------------------------*/
.sedes .card {
  background-color: var(--background-color);
  color: var(--default-color);
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
  position: relative;
  border-radius: 0;
}

.sedes .card .card-img {
  overflow: hidden;
  margin-bottom: 15px;
  border-radius: 0;
}

.sedes .card .card-img img {
  transition: 0.3s ease-in-out;
}

.sedes .card h3 {
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 5px;
  padding: 0 20px;
}

.sedes .card a {
  color: var(--heading-color);
  transition: 0.3;
}

.sedes .card a:hover {
  color: var(--color-secundario);
}

.sedes .card .stars {
  padding: 0 20px;
  margin-bottom: 5px;
}

.sedes .card .stars i {
  color: #ffc107;
}

.sedes .card p {
  padding: 0 20px;
  margin-bottom: 20px;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  font-style: italic;
  font-size: 15px;
}

.sedes .card:hover .card-img img {
  transform: scale(1.1);
}




/*--------------------------------------------------------------
# contacto Section
--------------------------------------------------------------*/
.contacto .info-item {
  padding: 20px 0 30px 0;
  box-shadow: 0px 0px 20px color-mix(in srgb, var(--default-color), transparent 90%);
}

.contacto .info-item i {
  font-size: 20px;
  color: var(--accent-color);
  width: 56px;
  height: 56px;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
  border-radius: 50%;
  border: 2px dotted color-mix(in srgb, var(--accent-color), transparent 40%);
}

.contacto .info-item h3 {
  font-size: 20px;
  font-size: 18px;
  font-weight: 700;
  margin: 10px 0;
}

.contacto .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
}


@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}


/*--------------------------------------------------------------
# Programas
--------------------------------------------------------------*/
.recent-posts .post-box {
  transition: 0.3s;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.recent-posts .post-box .post-img {
  overflow: hidden;
  position: relative;
}

.recent-posts .post-box .post-img img {
  transition: 0.5s;
}

.recent-posts .post-box .post-title {
  color: var(--heading-color);
  font-size: 18px;
  font-weight: 700;
  margin: 15px 0 0 0;
  position: relative;
  transition: 0.3s;
}

.recent-posts .post-box p {
  margin: 15px 0 0 0;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.recent-posts .post-box .readmore {
  display: flex;
  align-items: center;
  font-weight: 600;
  line-height: 1;
  transition: 0.3s;
  margin-top: 15px;
  color: var(--color-secundario);
}

.recent-posts .post-box .readmore i {
  line-height: 0;
  margin-left: 4px;
  font-size: 18px;
}

.recent-posts .post-box:hover .post-title {
  color: var(--color-secundario);
}

.recent-posts .post-box:hover .post-img img {
  transform: scale(1.1);
}

/*--------------------------------------------------------------
# Sobre Nosotros
--------------------------------------------------------------*/
.sobre-nosotros .content {
  background-color: color-mix(in srgb, var(--accent-color), transparent 95%);
  padding: 40px;
}

.sobre-nosotros .content h3 {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent-color);
  text-transform: uppercase;
}

.sobre-nosotros .content h2 {
  font-size: 24px;
  font-weight: 700;
}

.sobre-nosotros .content p {
  margin: 15px 0 30px 0;
  line-height: 24px;
}



/*--------------------------------------------------------------
# Misión Visión y Valores
--------------------------------------------------------------*/
.mision-vision-valores .mision-vision-valores-img {
  position: relative;
  margin: 60px 0 0 60px;
}

.mision-vision-valores .mision-vision-valores-img:before {
  position: absolute;
  inset: -60px 0 0 -60px;
  content: "";
  background: url("../img/mision-vision.png") top left;
  background-repeat: no-repeat;
  z-index: 1;
}

.mision-vision-valores .mision-vision-valores-img img {
  position: relative;
  z-index: 2;
}

@media (max-width: 575px) {
  .mision-vision-valores .mision-vision-valores-img {
    margin: 30px 0 0 30px;
  }

  .mision-vision-valores .mision-vision-valores-img:before {
    inset: -30px 0 0 -30px;
  }
}

.mision-vision-valores h3 {
  font-weight: 300;
  font-size: 32px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .mision-vision-valores h3 {
    font-size: 28px;
  }
}

.mision-vision-valores .nav-pills {
  border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
}

.mision-vision-valores .nav-pills li+li {
  margin-left: 40px;
}

.mision-vision-valores .nav-link {
  background: none;
  font-size: 18px;
  font-weight: 400;
  color: var(--default-color);
  padding: 12px 0;
  margin-bottom: -2px;
  border-radius: 0;
}

.mision-vision-valores .nav-link.active {
  color: var(--accent-color);
  background: none;
  border-bottom: 3px solid var(--accent-color);
}

@media (max-width: 575px) {
  .mision-vision-valores .nav-link {
    font-size: 16px;
  }
}

.mision-vision-valores .tab-content h4 {
  font-size: 18px;
  margin: 0;
  font-weight: 700;
  color: var(--default-color);
}

.mision-vision-valores .tab-content i {
  font-size: 22px;
  line-height: 0;
  margin-right: 8px;
  color: var(--accent-color);
}

/*--------------------------------------------------------------
# Galería Auto
--------------------------------------------------------------*/

.grid-gallery {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: 250px;
  grid-auto-flow: dense;
  grid-gap: 20px;
  
}

.grid-gallery .grid-item {
  position: relative;
  background-color: #efefef;
  overflow: hidden;
  border-radius: 5px;
}

.grid-gallery .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-radius: 10px;
}

.grid-gallery .grid-item:hover img {
  transform: scale(1.1);
}

.grid-gallery .grid-item a {
  cursor: zoom-in;
}

.grid-gallery .grid-item:nth-child(3n - 2) {
  grid-column: span 2;
  grid-row: span 2;
}

/* Let's make it responsive */
@media (max-width: 768px) {
  .grid-gallery {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-auto-rows: 250px;
  }

  .grid-gallery .grid-item:nth-child(3n - 2) {
    grid-column: unset;
    grid-row: unset;
  }
}


/*--------------------------------------------------------------
# Informes
--------------------------------------------------------------*/
.informes {
  padding: 10px 0;
}

.informes .informes-item {
  background-color: var(--box-background-color);
  display: flex;
  align-items: center;
  padding: 20px;
  transition: 0.3s;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  position: relative;
}

.informes .informes-item i {
  font-size: 32px;
  padding-right: 10px;
  line-height: 0;
}

.informes .informes-item h3 {
  font-weight: 700;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 16px;
}

.informes .informes-item h3 a {
  color: var(--heading-color);
  transition: 0.3s;
}

.informes .informes-item:hover {
  border-color: var(--accent-color);
}

.informes .informes-item:hover h3 a {
  color: var(--accent-color);
}

/*--------------------------------------------------------------
# Board
--------------------------------------------------------------*/

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--heading-font);
}

.slide-container-board{
  max-width: 1120px;
  width: 100%;
  padding: 40px 0;
}
.slide-content-board{
  margin: 0 40px;
  overflow: hidden;
  border-radius: 25px;
}
.card{
  border-radius: 25px;
  background-color: #FFF;
}
.image-content,
.card-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 14px;
}
.image-content{
  position: relative;
  row-gap: 5px;
  padding: 25px 0;
}
.overlay{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #007bff;
  border-radius: 25px 25px 0 25px;
}
.overlay::before,
.overlay::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: -40px;
  height: 40px;
  width: 40px;
  background-color: #007bff;
}
.overlay::after{
  border-radius: 0 25px 0 0;
  background-color: #FFF;
}
.card-image{
  position: relative;
  height: 150px;
  width: 150px;
  border-radius: 50%;
  background: #FFF;
  padding: 3px;
}
.card-image .card-img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #4070F4;
}
.name{
  font-size: 18px;
  font-weight: 500;
  color: #333;
}
.description{
  font-size: 14px;
  color: #707070;
  text-align: center;
}


.swiper-navBtn{
  color: #6E93f7;
  transition: color 0.3s ease;
}
.swiper-navBtn:hover{
  color: #4070F4;
}
.swiper-navBtn::before,
.swiper-navBtn::after{
  font-size: 35px;
}
.swiper-button-next{
  right: 0;
}
.swiper-button-prev{
  left: 0;
}
.swiper-pagination-bullet{
  background-color: #6E93f7;
  opacity: 1;
}
.swiper-pagination-bullet-active{
  background-color: #4070F4;
}

@media screen and (max-width: 768px) {
  .slide-content-board{
    margin: 0 10px;
  }
  .swiper-navBtn{
    display: none;
  }
}



/*--------------------------------------------------------------
# Apoyo
--------------------------------------------------------------*/

.wrapper{
  max-width: 1090px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  
}
.wrapper .table{
  background: #fff;
  width: calc(33% - 20px);
  padding: 30px 30px;
  position: relative;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  border-radius: 10px;
}
.table .price-section{
  display: flex;
  justify-content: center;
}

.card-image{
  position: relative;
  height: 150px;
  width: 150px;
  border-radius: 50%;
  background: #FFF;
  padding: 3px;
}
.card-image .card-img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #43ef8b;
}

.card-image .card-img-aportar{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #007bff;
}

.card-image .card-img-donar{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #f82249;
}

.card-image .card-img-apadrinar{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #833af8;

}

/*--------------------------------------------------------------
# Imagen final
--------------------------------------------------------------*/

.table .package-name{
  width: 100%;
  height: 2px;
  margin: 35px 0;
  position: relative;
}
.table .package-name::before{
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 25px;
  font-weight: 500;
  background: #fff;
  padding: 0 15px;
  transform: translate(-50%, -50%);
}
.table .features li{
  margin-bottom: 15px;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.features li .list-name{
  font-size: 17px;
  font-weight: 400;
}
.features li .icon{
  font-size: 15px;
}
.features li .icon.check{
  color: #2db94d;
}

.table .btn{
  width: 100%;
  display: flex;
  margin-top: 35px;
  justify-content: center;
}
.table .btn button{
  width: 90%;
  height: 50px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  border: none;
  outline: none;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.table .btn button:hover{
  border-radius: 5px;
}
.basic .features li::selection{
  background: #007bff;
}
.basic ::selection,
.basic .inner-area{
  background: #007bff;
}
.basic .btn button{
  border: 2px solid #007bff;
  background: #fff;
  color: #007bff;
}
.basic .btn button:hover{
  background: #007bff;
  color: #fff;
}
.premium ::selection,
.premium .inner-area,
.premium .btn button{
  background: #a26bfa;
}
.social-garaje ::selection,
.social-garaje .inner-area,
.social-garaje .btn button{
  background: #a26bfa;
}

.matricula ::selection,
.matricula .inner-area,
.matricula .btn button{
  background: #a26bfa;
}
.premium .btn button:hover{
  background: #833af8;
}
.social-garaje .btn button:hover{
  background: #833af8;
}
.matricula .btn button:hover{
  background: #833af8;
}
.ultimate ::selection,
.ultimate .inner-area{
  background: #f82249;
}
.ultimate .btn button{
  border: 2px solid #f82249;
  color: #f82249;
  background: #fff;
}
.ultimate .btn button:hover{
  background: #f82249;
  color: #fff;
}
.basic .package-name{
  background: #007bff;
}
.premium .package-name{
  background: #d0b3ff;
}
.social-garaje .package-name{
  background: #d0b3ff;
}
.matricula .package-name{
  background: #d0b3ff;
}
.ultimate .package-name{
  background: #f82249;
}
.basic .package-name::before{
  content: "Aportes";
}
.premium .package-name::before{
  content: "Apadrina";
  font-size: 24px;
}

.social-garaje .package-name::before{
  content: "Donar";
  font-size: 24px;
}
.ultimate .package-name::before{
  content: "Donación";
  font-size: 24px;
}

.matricula .package-name::before{
  content: "Matrícula";
  font-size: 24px;
}

@media (max-width: 1020px) {
  .wrapper .table{
    width: calc(50% - 20px);
    margin-bottom: 40px;
  }
}
@media (max-width: 698px) {
  .wrapper .table{
    width: 100%;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 40px;
  }
}
::selection{
  color: #fff;
}
.table .ribbon{
  width: 150px;
  height: 150px;
  position: absolute;
  top: -10px;
  left: -10px;
  overflow: hidden;
}
.table .ribbon::before,
.table .ribbon::after{
  position: absolute;
  content: "";
  z-index: -1;
  display: block;
  border: 7px solid #4606ac;
  border-top-color: transparent;
  border-left-color: transparent;
}
.table .ribbon::before{
  top: 0px;
  right: 15px;
}
.table .ribbon::after{
  bottom: 15px;
  left: 0px;
}
.table .ribbon span{
  position: absolute;
  top: 30px;
  right: 0;
  transform: rotate(-45deg);
  width: 200px;
  background: #a26bfa;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  font-size: 17px;
  text-transform: uppercase;
  box-shadow: 0 5px 10px rgba(0,0,0,0.12);
}


/* Agregar esto al final del archivo CSS */
.table .btn .button {
  display: inline-block;
  width: 90%;
  height: 50px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  border: none;
  outline: none;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  line-height: 50px;
  text-align: center;
}

.table .btn .button:hover {
  border-radius: 5px;
}

/* Estilos botones a */
.basic .btn .button {
  border: 2px solid #007bff;
  background: #fff;
  color: #007bff;
}

.basic .btn .button:hover {
  background: #007bff;
  color: #fff;
}

.premium .btn .button {
  background: #a26bfa;
}
.social-garaje .btn .button {
  background: #a26bfa;
}
.matricula .btn .button {
  background: #a26bfa;
}

.premium .btn .button:hover {
  background: #833af8;
}
.social-garaje .btn .button:hover {
  background: #833af8;
}
.matricula .btn .button:hover {
  background: #833af8;
}

.ultimate .btn .button {
  border: 2px solid #f82249;
  color: #f82249;
  background: #fff;
}

.ultimate .btn .button:hover {
  background: #f82249;
  color: #fff;
}


/*--------------------------------------------------------------
# Voluntarios
--------------------------------------------------------------*/

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--heading-font);
}

.slide-container{
  max-width: 1120px;
  width: 100%;
  padding: 40px 0;
}
.slide-content{
  margin: 0 40px;
  overflow: hidden;
  border-radius: 25px;
}
.card{
  border-radius: 25px;
  background-color: #FFF;
}
.image-content,
.card-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 14px;
}
.image-content{
  position: relative;
  row-gap: 5px;
  padding: 25px 0;
}
.overlay{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #0196D9;
  border-radius: 25px 25px 0 25px;
}
.overlay::before,
.overlay::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: -40px;
  height: 40px;
  width: 40px;
  background-color: #0196D9;
}
.overlay::after{
  border-radius: 0 25px 0 0;
  background-color: #FFF;
}
.card-image{
  position: relative;
  height: 150px;
  width: 150px;
  border-radius: 50%;
  background: #FFF;
  padding: 3px;
}
.card-image .card-img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #0196D9;
}
.name{
  font-size: 18px;
  font-weight: 500;
  color: #333;
}
.description{
  font-size: 14px;
  color: #707070;
  text-align: center;
}


.swiper-navBtn{
  color: #6E93f7;
  transition: color 0.3s ease;
}
.swiper-navBtn:hover{
  color: #0196D9;
}
.swiper-navBtn::before,
.swiper-navBtn::after{
  font-size: 35px;
}
.swiper-button-next{
  right: 0;
}
.swiper-button-prev{
  left: 0;
}
.swiper-pagination-bullet{
  background-color: #6E93f7;
  opacity: 1;
}
.swiper-pagination-bullet-active{
  background-color: #0196D9;
}


@media screen and (max-width: 768px) {
  .slide-content{
    margin: 0 10px;
  }
  .swiper-navBtn{
    display: none;
  }
}


/*--------------------------------------------------------------
# Video Final
--------------------------------------------------------------*/



.video-final .content p:last-child {
  margin-bottom: 0;
}

.video-final .play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(var(--accent-color) 50%, color-mix(in srgb, var(--accent-color), transparent 75%) 52%);
  border-radius: 50%;
  display: block;
  position: absolute;
  left: calc(50% - 47px);
  top: calc(50% - 47px);
  overflow: hidden;
}

.video-final .play-btn:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  animation-delay: 0s;
  animation: pulsate-btn 2s;
  animation-direction: forwards;
  animation-iteration-count: infinite;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid color-mix(in srgb, var(--accent-color), transparent 30%);
  top: -15%;
  left: -15%;
  background: rgba(198, 16, 0, 0);
}

.video-final .play-btn:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.video-final .play-btn:hover:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 200;
  animation: none;
  border-radius: 0;
}

.video-final .play-btn:hover:after {
  border-left: 15px solid var(--accent-color);
  transform: scale(20);
}

@keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }

  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}







