/*!
 * CSS RED - v. 2.0
 * 2015 - Alex Arag車n (aragonc@beeznest.com)
 * OpenClipArt ilustration (https://openclipart.org/detail/163771/little-red-riding-hood)
 * Licensed GPL
 * Based on Bootstrap
*/

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url(../chamilo/fonts/OpenSans-Light.woff2) format('woff2'),
       url(../chamilo/fonts/OpenSans-Light.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'),
       url(../chamilo/fonts/OpenSans.woff2) format('woff2'),
       url(../chamilo/fonts/OpenSans.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'),
       url(../chamilo/fonts/OpenSans-Semibold.woff2) format('woff2'),
       url(../chamilo/fonts/OpenSans-Semibold.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url(../chamilo/fonts/OpenSans-Bold.woff2) format('woff2'),
       url(../chamilo/fonts/OpenSans-Bold.woff) format('woff');
}

html {
  position: relative;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0 0 60px;
  font-family: 'Open Sans', sans-serif;
  line-height: 1.72222;
}

body > main footer.footer {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
}

a {
  color: #666666;
}

a:hover {
  color: #333333;
}

header {
  background: url("images/bg-red.png") repeat-x center -25px;
}

.navbar-default {
  background: #ff3019;
  background: -moz-linear-gradient(top, #ff3019 0%, #cf0404 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff3019), color-stop(100%,#cf0404));
  background: -webkit-linear-gradient(top, #ff3019 0%,#cf0404 100%);
  background: -o-linear-gradient(top, #ff3019 0%,#cf0404 100%);
  background: -ms-linear-gradient(top, #ff3019 0%,#cf0404 100%);
  background: linear-gradient(to bottom, #ff3019 0%,#cf0404 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3019', endColorstr='#cf0404', GradientType=0);
  border: none;
  border-radius: 0;
}

.navbar-default .navbar-brand {
  color: #ecf0f1;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #ffdb00;
}

.navbar-default .navbar-text {
  color: #ecf0f1;
}

.navbar-default .navbar-nav > li > a {
  color: #ecf0f1;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #ffdb00;
}

.navbar-default .navbar-nav > li > .dropdown-menu > li > .divider {
  background-color: #db0000;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #ffdb00;
  background: #782121;
  background: -moz-linear-gradient(top, #782121 0%, #2f0d0d 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#782121), color-stop(100%,#2f0d0d));
  background: -webkit-linear-gradient(top, #782121 0%,#2f0d0d 100%);
  background: -o-linear-gradient(top, #782121 0%,#2f0d0d 100%);
  background: -ms-linear-gradient(top, #782121 0%,#2f0d0d 100%);
  background: linear-gradient(to bottom, #782121 0%,#2f0d0d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#782121', endColorstr='#2f0d0d', GradientType=0);
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #ffdb00;
  background-color: #870000;
}

.navbar-default .navbar-toggle {
  border-color: #870000;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #870000;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #ecf0f1;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #ecf0f1;
}

.navbar-default .navbar-link {
  color: #ecf0f1;
}

.navbar-default .navbar-link:hover {
  color: #ffdb00;
}

.logo {
  margin: 50px 0;
}

.panel-default .panel-heading {
  background-color: #EDEDED;
}

.breadcrumb {
  background: #EDEDED;
}

.nav li a:hover {
  background: transparent;
}

footer.bgfooter {
  background: #1c1c1c;
  background: -moz-linear-gradient(top, #1c1c1c 0%, #272727 99%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1c1c1c), color-stop(99%,#272727));
  background: -webkit-linear-gradient(top, #1c1c1c 0%,#272727 99%);
  background: -o-linear-gradient(top, #1c1c1c 0%,#272727 99%);
  background: -ms-linear-gradient(top, #1c1c1c 0%,#272727 99%);
  background: linear-gradient(to bottom, #1c1c1c 0%,#272727 99%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1c1c1c', endColorstr='#272727', GradientType=0);
  color: #d4707f;
}

footer.bgfooter a {
  color: #ffffff;
}

footer.bgfooter a:hover {
  color: #CCC;
}

#carousel-announcement .left,
#carousel-announcement .right {
  background: #AE0000;
}

/* =========================
   MEDIA QUERIES
========================= */

@media (min-width: 768px) and (max-width: 979px) {
  .logo { margin: 25px 0; }
}

@media (min-width: 480px) and (max-width: 767px) {
  .logo { margin: 24px 0; }
}

@media (min-width: 320px) and (max-width: 479px) {
  .logo { margin: 10px 0; }
}

@media only screen and (min-width: 320px) and (max-width: 480px) {
  .logo { margin: 20px 0; }
}

/* =========================================================
   MEJORAS DE ANIMACIONES (NO CAMBIA COLORES NI FUNCIONALIDAD)
========================================================= */

a,
.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-brand,
footer.bgfooter a {
  transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  transform: translateY(-1px);
}

.navbar-default .navbar-brand:hover {
  transform: scale(1.05);
}

.navbar-default .navbar-nav > .active > a {
  transition: background 0.35s ease, color 0.35s ease;
}

.navbar-nav > li > .dropdown-menu {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  display: block;
  visibility: hidden;
}

.navbar-nav > li.open > .dropdown-menu {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.navbar-default .navbar-toggle {
  transition: background-color 0.25s ease, transform 0.2s ease;
}

.navbar-default .navbar-toggle:hover {
  transform: scale(1.05);
}

.panel-default {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.panel-default:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

.breadcrumb {
  transition: background-color 0.3s ease;
}

#carousel-announcement .left,
#carousel-announcement .right {
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#carousel-announcement .left:hover,
#carousel-announcement .right:hover {
  transform: scale(1.08);
}

.logo {
  animation: fadeInDown 0.8s ease both;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ==============================
   Fondo para la página de login
   ============================== */

/* Fondo solo en login */
body .section-login {
    background: url("/main/img/fondo-login.jpg") no-repeat center top !important;
    background-size: cover !important;
    background-attachment: scroll !important;
    min-height: 92vh !important; /* Cambia a 100vh para cubrir toda la ventana */
    height: 92vh !important; /* 100vh en lugar de 90vh */
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Bloque de login con fondo semitransparente */
body .section-login #login-block {
    background: rgba(255, 255, 255, 0.85) !important;
    border: none !important;
    margin-top: 5% !important; /* Usa porcentaje para mejor responsividad */
    position: relative;
    z-index: 2;
}
