@charset "utf-8";
/* CSS Document */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/Montserrat-Regular.woff') format('woff'),
       url('fonts/Montserrat-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/Montserrat-Italic.woff') format('woff'),
       url('fonts/Montserrat-Italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/Montserrat-Bold.woff') format('woff'),
       url('fonts/Montserrat-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/Montserrat-BoldItalic.woff') format('woff'),
       url('fonts/Montserrat-BoldItalic.ttf') format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/Montserrat-Black.woff') format('woff'),
       url('fonts/Montserrat-Black.ttf') format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/Montserrat-BlackItalic.woff') format('woff'),
       url('fonts/Montserrat-BlackItalic.ttf') format('truetype');
}

html {scroll-behavior: smooth;}
html, body {margin: 0;}
body {
	padding:0;
	font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    font-weight: 400;
	color: #181818;
}
@media (max-width:768px) {
    body {font-size: 0.85rem;}
}

h1 {font-size: 2rem;}
h2 {font-size: 1.6rem;}
h3 {font-size: 1.4rem;}
h4 {font-size: 1.2rem;}

.h1 {font-size: 2rem;}
.h2 {font-size: 1.6rem;}
.h3 {font-size: 1.4rem;}
.h4 {font-size: 1.2rem;}

.display-1 {font-size: 4em;}
.display-2 {font-size: 3em;}
.display-3 {font-size: 2.5em;}

strong {font-weight: 700;}
.extrabold {font-weight: 900;}
em, i {font-style: italic;}

.text-shadow {text-shadow: 3px 3px rgba(0, 0, 0, 0.3);}


.hr-white {border: 0; border-bottom: solid 2px #FFF;}
.hr-grey {border: 0; border-bottom: solid 2px rgba(0,0,0,0.2);}

/*containers*/
.container-1600 {max-width: 1600px; margin: auto;}
.container-1200 {max-width: 1200px; margin: auto;}
.container-1000 {max-width: 1000px; margin: auto;}
.container-900 {max-width: 900px; margin: auto;}
.container-800 {max-width: 800px; margin: auto;}
.container-600 {max-width: 600px; margin: auto;}
.container-400 {max-width: 600px; margin: auto;}

/*textos*/
.text-primary {color: #ff5418!important;}
.text-secondary {color: #007c6e!important;}
.text-tertiary {color: #ffc921;}
.text-dark {color: #181818!important;}
.text-black {color: #181818;}

/*titulos secciones*/
.page-title {font-weight: 900; letter-spacing: 1px;}
.page-title::after{
    content: "";
    display: block;
    width: 90px;
    height: 5px;
    background: #ffc921;
    margin: 20px auto 0;
    border-radius: 5px;
}

/*fondos*/
.bg-primary {background-color: #ff5418!important;}
.bg-secondary {background-color: #007c6e!important;}
.bg-tertiary {background-color: #ffc921;}
.bg-quaternary {background-color: #0baa8b;}
.bg-complementary {background-color: #6b50ff;}

.bg-gradient {
	background: #ff5418;
    background: linear-gradient(to right,  #ff5418 17%,#007c6e 100%);
}

.bg-image {
	background-size: cover;
	background-position: center center;
}

/*IMAGES FIT*/
.img-fit {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*iconos home info*/
.icons-home .box {padding: 1px;}
.box {overflow: hidden;}
.box a {color: #ff5418;}
.box a span {color: #181818!important;}
.box * {transition: all 0.3s linear;}
.box a:hover {background-color: #ffc921;}
.box a:hover {color: #fff!important;}

.box a:hover .up {transform: scale(0.9) rotate(-15deg);}
.box a:hover .down {transform: scale(1.2);}

/*cuadros botones home*/
.square-btn {overflow: hidden;}
.square-btn * {transition: all 0.3s linear;}
.square-btn:hover .up {transform: scale(1.2);}
.square-btn:hover .down {transform: scale(0.9);}


/*contador home*/
#Countdown div {display: inline-block; padding: 0.2rem 0 0 0; margin: 0 0.3rem; border-radius: .5rem; border: solid 1px #fff;}
#Countdown strong, #Countdown span {display: block;}
#Countdown strong {font-size: 2rem; width: 70px;}

/*foto cifras home*/
.about-banner {overflow: hidden;}
.banner-image {height:70vh; min-height:520px; background-image:url(../img/banner-mmb.avif); background-size:cover; background-position:center center; background-attachment:fixed; position:relative;}
.banner-overlay{position:absolute; inset:0; display:flex; align-items:center; background:linear-gradient(rgba(0,0,0,.20), rgba(0,0,0,.60));}

/*carrusel patrocinadores*/
.sponsors-carousel div {padding: 2px;}
.sponsors-carousel img {width: 100%; height: auto; background-color: white;}


/*resumen blog home*/
/* Contenedor fijo con proporción uniforme */
.home-blog-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9; /* puedes cambiarlo a 4/3 o 3/2 según prefieras */
  overflow: hidden;
  border-radius: 10px;
  background: #f3f3f3;
}

/* Imagen que llena el contenedor sin deformarse */
.home-blog-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* Efecto suave al pasar el cursor */
.home-blog-thumb:hover img {
  transform: scale(1.05);
}

/*youtube facade home*/
.youtube-facade {
	position: relative;
	cursor: pointer;
	background: #000;
}
.youtube-thumb {
	background-size: cover;
	background-position: center;
}
.youtube-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 68px;
	height: 48px;
	background: url('../img/play_circle.png') no-repeat center center;
	background-size: contain;
	border: none;
	outline: none;
	cursor: pointer;
}



/* Rotador de banners home */
#banner-rotator {position: relative; width: 100%; aspect-ratio: 5 / 2; overflow: hidden; display: flex; align-items: center;}

/*rotador de banners*/
.banner {position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.5s ease-in-out;}

.banner.active {opacity: 1; z-index: 1;}
.banner img {width: 100%; height: 100%; object-fit: contain;}
.progress-bar {position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; background-color: white; transform: scaleX(0); transform-origin: left;}

.banner-nav {position: absolute; top: 50%; transform: translateY(-50%); width: 50px;
  height: 50px; background-color: rgba(0, 0, 0, 0.5); color: white; border: none; cursor: pointer; font-size: 24px; display: flex; align-items: center; justify-content: center; z-index: 10; transition: background 0.3s ease;}

.banner-nav:hover {background-color: rgba(0, 0, 0, 0.8);}

.banner-prev { left: 0; }
.banner-next { right: 0; }
/*Rotador de banners home fin*/


/*animación boton flotante inscripciones*/
.breathe{
    animation: breathe 3s ease-in-out infinite;
    transform-origin: center;
}

@keyframes breathe{
    0%,100%{transform: scale(1);}
    50%{transform: scale(1.08);}
}


/* Pantallas medianas y pequeñas */
@media (max-width: 970px) {
  .inscribete {bottom: 20px; left: 20px; max-width: 130px;}
}
/* Muy pequeñas o móviles en vertical */
@media (max-width: 768px) and (orientation: portrait) {
  .inscribete {left: 10px; width: 30%; max-width: 120px;}
}

/* animación */
@keyframes pulse {
  0% {transform: scale(1);}
  50% {transform: scale(1.05);}
  100% {transform: scale(1);}
}


/*slider*/
img.img-desk {display: block;}
img.img-mob {display: none;}
@media (max-width:768px) and (orientation:portrait) {
	img.img-desk {display: none;}
	img.img-mob {display: block;}
}

/*header*/
header {position: relative; background-color: #252525;}
.bg-bogota {background: url("../img/bg-bogota.webp") center center; background-size: cover;}

.logo {width: 50%; max-width: 300px;}
.patrocinadores-cont {position: absolute; z-index: 10; margin-top: 2rem;}
.wa-label {width: 7%; max-width: 98px;}

/*BOTONES*/
.btn {border-radius: .75rem;}
.btn-primary {background-color: #ff5418!important; border: solid 3px #ff5418!important; color: #FFF;}
.btn-primary:hover {background-color: #ffc921!important; border: solid 3px #ffc921!important; color: #FFF;}
.btn-secondary {background-color: #007c6e!important; border: solid 3px #007c6e!important; color: #FFF;}
.btn-secondary:hover {background-color: #0baa8b!important; border: solid 3px #0baa8b!important; color: #FFF;}

/*pastilla patrocinadores*/
.logos {display: -ms-flexbox!important; display: flex!important; -ms-flex-pack: justify!important; justify-content: space-between!important;}
.patrocinan {width: 25%; max-width: 360px;}
.pastilla {
	width: 100%;
	background-color: #0000008f;
    border-radius: 1rem;
}

@media (max-width:768px) and (orientation:portrait) {
    .patrocinadores-cont {position: relative; margin-top: 0.5rem;}
    .patrocinan {width: 50%;}
	.wa-label {width: 16%;}
}


/*transiciones generales*/
.scale-up, .scale-down, .scale-rotate {transition: all 0.3s linear;}
.scale-up:hover {transform: scale(1.2); z-index: 10;}
.scale-down:hover {transform: scale(0.9);}
.scale-rotate:hover {transform: scale(1.2) rotate(-15deg);}

/*testimonios*/
#testimonials .carousel-inner {width: 80%; min-height: 130px;}
#testimonials span {display: block; color: #8cfbfd; font-weight: 700;}
#testimonials button {width: 10%;}
#testimonials .carousel-item div {font-size: 1.3rem;}
#testimonials .custom-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #313131;
  border-radius: 50%;
  padding: 8px;
}

#testimonials .custom-icon svg {
  width: 20px;
  height: 20px;
  fill: white;
}

/*BLOG***/
.article-link {margin-bottom: 7px;}
.article-link small {display: block;}

/*SECCION PATROCINADORES*/
.logos-patro img {width: 100%;}
.logo-box {border: solid 1px #CCC; background: #FFF;}
.logo-box:hover {transform: translateY(-4px); box-shadow: 2px 0 5px rgba(0,0,0,0.2);}
.cycle-controls {cursor: pointer; padding: 3px 8px;}
.cycle-controls:hover {background-color: #545657;}
.d-34 {width: 34,375%;}
.d-31 {width: 31,25%;}
.d-50 {width: 50%;}



/****************MENÚ PRINCIPAL****************/
#main-nav {background-color: #0baa8b; font-weight: 700;}
#main-nav .navbar-nav .nav-link {color: #fff!important; transition: all 0.15s linear;}
#main-nav .navbar-nav .nav-link:hover {color: #2c614f!important; transform: scale(1.1);}
#main-nav .navbar-toggler {color: #FFF; border: 0;}
#main-nav .dropdown-menu {margin-top: 0; background-color: #ffc921; border: 0; border-radius: 0;}
#main-nav .dropdown-item:focus,
#main-nav .dropdown-item:hover {
    background-color: #ffeaa5;
}
@media (min-width: 992px) {
    #main-nav .dropdown:hover .dropdown-menu {display: block;}
}

/*escritorio*/
@media (min-width: 992px) {
    /*menú queda siempre fijo en la parte superior*/
    #main-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1030;
    }
    /*reservamos de espacio*/
    header {padding-top: 45px;}
}

/*moviles*/
@media (max-width: 991.98px) {
    /*barra superior queda fija*/
    #main-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1050;
    }
    /*Reserva espacio*/
    header {padding-top: 45px;}
    /*Panel de menú a pantalla completa*/
    #main-nav #menuweb {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        background-color: #0baa8b;
        z-index: 1040;
        display: flex !important;
        align-items: center;
        justify-content: center;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.45s cubic-bezier(0.77, 0, 0.175, 1);
    }
    /*Menú abierto*/
    #main-nav #menuweb.show {transform: translateX(0);}
    /*Opciones principales*/
    #main-nav #menuweb .navbar-nav {width: 100%; padding: 70px 20px;}
    #main-nav #menuweb .nav-item {margin: 8px 0;}
    #main-nav #menuweb .nav-link {font-size: 1.15rem; padding: 12px 10px !important;}

    /*Bootstrap controla el dropdown mediante toque/click */
    #main-nav .dropdown.show .dropdown-menu {
        display: block;
        position: static;
        float: none;
        width: 100%;
        margin-top: 5px;
        text-align: center;
    }
    #main-nav .dropdown-menu .dropdown-item {padding: 10px;}

    /*Estos elementos permanecen por encima del panel*/
    #main-nav .navbar-toggler,
    #main-nav .navbar-brand,
    #main-nav > div:last-child {
        position: relative;
        z-index: 1060;
    }
}


/***********************FOOTER 2027***********************/
.site-footer {color: #fff;}

/*bloque principal*/
.site-footer-main {background-color: #0b1726; padding: 28px 0 24px;}
.site-footer-main .row {align-items: center;}
.footer-title {margin-bottom: 8px; color: #fff; font-size: 1.1rem; line-height: 1.1;}
.footer-small {margin-bottom: 12px; font-size: 0.85rem; line-height: 1.35;}
.footer-newsletter,
.footer-social,
.footer-app {padding: 10px 25px;}
.footer-newsletter {border-right: 1px solid rgba(255,255,255,0.25);}
.footer-app {border-left: 1px solid rgba(255,255,255,0.25);}

/*newsletter*/
.footer-newsletter .footer-title strong {color: #0baa8b;}
.footer-newsletter-button {
    display: inline-block;
    padding: 6px 18px;
    background-color: #0baa8b;
    color: #0b1726;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}
.footer-newsletter-button:hover {
    background-color: #ff5418;
    color: #fff;
    text-decoration: none;
}

/*redes sociales*/
.footer-social {text-align: center;}
.footer-social-icons {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
}
.footer-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.footer-social-icons a:hover {
    background-color: #ff5418;
    border-color: #ff5418;
    color: #fff;
}

/*app*/
.footer-app-buttons {display: flex; gap: 6px;}
.footer-app-buttons img {width: 120px; height: 41px; max-width: 100%;}

/*segundo bloque*/
.site-footer-links {
    background-color: #0b1726;
    border-top: 1px solid rgba(255,255,255,0.18);
    padding: 22px 0 25px;
}
.footer-link-column,
.footer-partner {
    margin-bottom: 10px;
}
.footer-link-title {
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.footer-link-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-link-column li {
    margin-bottom: 3px;
}
.footer-link-column a {
    color: rgba(255,255,255,0.8);
    font-size: 0.75rem;
    text-decoration: none;
}
.footer-link-column a:hover {
    color: #fff;
    text-decoration: underline;
}

/*logos*/
.footer-partner {text-align: center;}
.footer-partner img {width: 110px; max-width: 100%; height: auto;}
.footer-partner p {min-height: 20px;}

/*bottom line*/
.site-footer .footer_data {
    position: relative;
    background-color: #6b50ff;
    padding: 18px 0 12px;
    font-size: 0.85rem;
}
.site-footer .roadrace-label {
    display: block;
    width: 100px;
    height: 100px;
    margin: -55px auto 8px;
}
.footer-bottom-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 18px;
    white-space: nowrap;
}
.footer-bottom-row > span,
.footer-bottom-row > a {
    display: inline-flex;
    align-items: center;
}
.footer-bottom-row i {
    margin-right: 5px;
}
.footer-bottom-row a {
    text-decoration: none;
}
.footer-bottom-row a:hover {
    text-decoration: underline;
}
.site-footer .jk-credit {
    flex-shrink: 0;
}
.site-footer .jk-credit img {
    display: block;
}

/*responsive*/
@media (max-width: 991.98px) {
    .footer-newsletter {border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.18);}
    .footer-app {border-left: 0; border-top: 1px solid rgba(255,255,255,0.18);}
    .footer-newsletter, .footer-social, .footer-app {padding: 18px 15px;}
    .footer-social {text-align: left;}
    .footer-social-icons {justify-content: flex-start;}
    .footer-app-buttons {justify-content: flex-start;}
    .footer-partner img {width: 100px;}
}

@media (max-width: 575.98px) {
    .site-footer-main {padding-top: 20px;}
    .footer-title {font-size: 1rem;}
    .footer-small {font-size: 0.8rem;}
    .footer-link-title {margin-top: 8px;}
    .footer-contact span {display: block; width: 100%;}
    .site-footer .roadrace-label {margin-top: -45px;}
}

@media (max-width: 1165px) {
    .footer-bottom-row {flex-wrap: wrap; white-space: normal; gap: 8px 15px; line-height: 1.4;}
    .footer-bottom-row > span, .footer-bottom-row > a {justify-content: center;}
    .site-footer .jk-credit {width: 100%; justify-content: center;}
}