/*--------------------
GENERAL
----------------------*/
* {
	outline:none !important;
	box-sizing: border-box;
}
body {
	font-family: 'open_sansregular';
  background-color: #f1f1f1;
	color: #666;
	font-size: 12px;
	margin:0;
}
a {
	color: inherit;
	text-decoration: none;
}
h1 {
	font-size: 180%;
	margin: 10px 0;
}
h2 {
	font-size: 140%;
	margin: 8px 0;
}
h3 {
	font-size: 120%;
	margin: 8px 0;
}
p {
	line-height: 160%;
}

/*--------------------
FORMULARIOS
----------------------*/
input {
  font-family: 'open_sansregular';
  font-size: 12px;
  background-color: white;
  color: #333;
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 5px 10px;
	height: 28px;
	width: 100%;
}
textarea {
  font-family: 'open_sansregular';
  font-size: 12px;
  background-color: white;
  color: #333;
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 5px 10px;
	width: 100%;
}
select {
  font-family: 'open_sansregular';
  font-size: 12px;
  background-color: white;
  color: #333;
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 5px 10px;
	height: 28px;
}
button {
  font-family: 'open_sansregular';
  font-size: 12px;
  background-color: #333;
  color: white;
  border-radius: 5px;
  border: solid 1px #333;
  padding: 5px 10px;
	cursor: pointer;

	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
button:hover {
	background-color: #505050;
	border-color: #505050;
}

/*--------------------
ESTILOS
----------------------*/
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.hidden {
	display: none;
}
.color-pri {
	color: #55b6b5;
}
.color-sec {
	color: #0a9ec8;
}
.color-ter {
	color: #ccc;
}
.color-white {
	color: white;
}
.fondo-pri {
	background-color: #55b6b5 !important;
}
.fondo-sec {
	background-color: #0a9ec8 !important;
}
.fondo-ter {
	background-color: #ccc !important;
}
.borde-no {
	border: none;
}
.margen {
	margin-bottom: 5px;
}
.font-200 {
	font-size: 200%;
}
.font-300 {
	font-size: 300%;
}
.full {
	background-image: none !important;
	background: rgba(255,255,255,0);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.full:hover {
	background: rgba(100,100,100,0.05);
}
button.full {
	border-radius: 10px;
	font-size: 50px;
	line-height: 0;
	margin: 0;
}
.ancho {
	min-width: 200px;
}

/*--------------------
BOX
----------------------*/
.box {
	background-color: white;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 0 1px rgba(0,0,0,0.15);
	position: relative;
}
.box h1,
.box h2,
.box h3 {
	margin-top: 0;
}

/*--------------------
COLUMNAS
----------------------*/
[class*="col-"] {
	display: grid;
	grid-gap: 10px;
	align-content: start;
}
.col-2 {
	grid-template-columns: repeat(2, 1fr);
}
.col-3 {
	grid-template-columns: repeat(3, 1fr);
}
.col-4 {
	grid-template-columns: repeat(4, 1fr);
}
.col-5 {
	grid-template-columns: repeat(5, 1fr);
}

/*--------------------
IMG
----------------------*/
[class*="img-"] {
	vertical-align: top;
	width: 100%;
}
.img-300 {
	max-width: 300px;
}

/*--------------------
LOGIN
----------------------*/
#base-login {
	display: grid;
	grid-template-columns: minmax(200px, 300px);
	justify-content: center;
	align-items: center;
	min-height: 100vh;
}
#base-login .box {
	margin-bottom: 50px;
}
#base-login .box img {
	width: 100%;
	vertical-align: top;
}
.header-login {
	background: url(../images/fondo-verde.jpg);
	padding: 20px;
	color: white;
	border-radius: 5px 5px 0 0;
	margin-bottom: 15px;
}

/*--------------------
INTERNA
----------------------*/
#base {
	display: grid;
	grid-template-columns: 200px 1fr;
	min-height: 100vh;
}

/*--------------------
MENU
----------------------*/
#menu {
	background: #252a2d;
	padding: 5px 15px 15px;
	color: white;
	display: grid;
	grid-auto-flow: row;
	grid-template-rows: 1fr 35px;
}
#menu button {
	font-size: 90%;
	text-align: left;
	background-color: transparent;
	width: 100%;
	margin: 0;
	padding: 15px;
	border: none;
	border-radius: 0;
	border-top: solid 1px rgba(255,255,255,0.05);

	background-repeat: no-repeat;
	background-size: auto 56%;
	background-position: left 10px center;
	padding-left: 46px;
}
#menu ul {
	margin: 0 0 15px;
	padding: 0;
	font-size: 85%;
	display: none;
}
#menu ul li {
	list-style: none;
}
#menu ul li a {
	padding: 5px 15px;
	display: block;
	color: #ccc;
}
#menu ul li a:hover {
	color: white;
}
#menu .expandido ~ ul {
	display: block;
}
#menu .logo {
	background-color: rgba(255,255,255,0.02);
	border-radius: 10px;
	margin: 10px 0 15px;
}
#menu .logo img {
	width: 100%;
	padding: 20px 0;
}

/*--------------------
ICONOS MENU
----------------------*/
.ico-engrane button {
	background: url(../images/icono/engrane-gris.png);
}
.ico-proyecto button {
	background: url(../images/icono/proyecto-gris.png);
}
.ico-contactos button {
	background: url(../images/icono/contactos-gris.png);
}
.ico-planeacion button {
	background: url(../images/icono/planeacion-gris.png);
}
.ico-colaboracion button {
	background: url(../images/icono/colaboracion-gris.png);
}
.ico-salir button {
	background: url(../images/icono/salir-gris.png);
}
.ico-proyecto button.activo {
	border-color: #ffcc54 !important;
}
.ico-contactos button.activo {
	border-color: #ff9d65 !important;
}
.ico-planeacion button.activo {
	border-color: #20d5d3 !important;
}
.ico-colaboracion button.activo {
	border-color: #3bc5ee !important;
}
.ico-proyecto a.activo {
	color: #ffcc54 !important;
}
.ico-contactos a.activo {
	color: #ff9d65 !important;
}
.ico-planeacion a.activo {
	color: #20d5d3 !important;
}
.ico-colaboracion a.activo {
	color: #3bc5ee !important;
}

/*--------------------
BOTONES
----------------------*/
.mas {
	background-image: url(../images/icono-mas.png);
	background-repeat: no-repeat;
	background-size: auto 70%;
	background-position: right 5px center;
	padding-right: 35px;
}
.menos {
	background-image: url(../images/icono-menos.png);
}

/*--------------------
CONTENIDO
----------------------*/
#contenedor {
	display: grid;
	grid-template-rows: 80px 1fr;
	align-content: center;
}

/*--------------------
HEADER
----------------------*/
#header {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	background: url(../images/fondo-verde.jpg);
	background-size: cover;
	color: white;
	padding: 20px 30px;
}
#header .logo-bep {
	vertical-align: top;
	width: 75px;
}

/*--------------------
CONTENIDO
----------------------*/
#contenido {
	padding: 20px 30px;
}
#contenido > h1 {
	margin-top: 0;
}

/*--------------------
TABLAS
----------------------*/
table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}
table thead tr th {
	padding-bottom: 10px;
}
table tr {
}
table tr th {
	vertical-align: top;
}
table tr td {
	vertical-align: top;
}
table input {
	margin: 0;
	width: 100%;
	height: 100%;
}
table textarea {
	margin: 0;
	width: 100%;
	height: 100%;
}
table button {
	margin: 0;
	width: 100%;
	height: 100%;
}

/*--------------------
TABLA TIPO 1
----------------------*/
.tabla-tipo-1 tr td {
	padding-bottom: 5px;
	padding-right: 4px;
}
.tabla-tipo-1 tr td:last-child {
	padding-right: 0;
}
.tabla-tipo-1 tr:last-child td {
	padding-bottom: 0;
}
@media screen and (max-width: 900px) {
 .tabla-tipo-1 thead {
	 display: none;
 }
 .tabla-tipo-1 tr {
	 display: block;
	 border-bottom: solid 1px #999;
	 padding-bottom: 20px;
	 margin-bottom: 20px;
 }
 .tabla-tipo-1 tr:last-child {
	 border-bottom: none;
	 padding-bottom: 0;
	 margin-bottom: 0;
 }
 .tabla-tipo-1 tr td {
	 display: grid;
	 grid-template-columns: 120px 1fr;
	 padding-right: 0;
 }
 .tabla-tipo-1 tr td:last-child {
 	padding-bottom: 0;
 }
 .tabla-tipo-1 tr td:before {
   content: attr(data-th);
   display: block;
	 font-weight: bold;
	 padding-right: 20px;
	 padding-bottom: 2px;
 }
}
@media screen and (max-width: 600px) {
	.tabla-tipo-1 tr td {
 	 grid-template-columns: 1fr;
  }
}

/*--------------------
TABLA TIPO 2
----------------------*/
.tabla-tipo-2 tr {
	display: block;
	border-bottom: solid 1px #999;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.tabla-tipo-2 tr:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.tabla-tipo-2 tr td {
	display: grid;
	grid-template-columns: 120px 1fr;
	padding-bottom: 5px;
}
.tabla-tipo-2 tr td:before {
	content: attr(data-th);
	display: block;
	font-weight: bold;
	padding-right: 20px;
	padding-bottom: 2px;
}
.tabla-tipo-2 tr td:last-child {
	padding-bottom: 0;
}
@media screen and (max-width: 600px) {
	.tabla-tipo-2 tr td {
 	 grid-template-columns: 1fr;
  }
}
