
body, html {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}

body {
	font-family: arial;
	font-size: 14px;
	background: #ddd;
}

::placeholder { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
:-moz-placeholder { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
::-moz-placeholder { font-family: Arial, Helvetica, sans-serif; font-size: 14px;  }
:-ms-input-placeholder { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
::-webkit-input-placeholder { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }

.noscroll {
	overflow: hidden;
}

#allpost {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	margin: 20px 20px 50px 20px;
}

#allpost.panel {
	grid-template-columns: 1fr 1fr 1fr;
}

#error {
	display: block;
	text-align: center;
	padding: 12px 5px;
	margin-bottom: 0px;
	background: #cd1f1f;
	color: #fff;
	font-size: 15px;
}

#alerta {
	display: block;
	text-align: center;
	padding: 12px 5px;
	margin-bottom: 0px;
	background: #DC4D00;
	color: #fff;
	font-size: 15px;
}

#exito {
	display: block;
	text-align: center;
	padding: 12px 5px;
	margin-bottom: 0px;
	background: #089E01;
	color: #fff;
}


.logo {
	display: block; 
	max-width: 70%;
	max-height: 100px;
	margin: 30px auto;
}

#bgfixed {
	position: fixed;
	display: block;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	background: url(imagen/xifragroup.jpg) center center / cover no-repeat;
	z-index: -1;
	opacity: 1;
}


h1, span.empresa {
	display:block;
	margin: 10px auto 20px auto;
	font-size: 26px;
	color: #ffffff;
	padding: 5px 10px;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
}

.bg1 {
	background: #2b2e83;
	color: #fff;
}

.bg2 {
	background: none;
}

.bgblack {
	background: #000;
	color: #fff;
}

.bgwhite {
	background: #fff;
}

#box {
	position: relative;
	width: 100%;
	display: block;
	background: #ffffff;
	margin: 0 auto 30px auto;
	box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 10px 2px;
	padding-bottom: 30px;
}

#box.post {
	width: 90%;
	max-width: 700px;
}


#box .titulo.unidad {
	display: block;
	padding: 7px 5px;
	font-size: 11px;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
	background: #000000;
	color: #ffffff;
}

#box .titulo.puesto {
	display: block;
	padding: 10px 5px;
	font-size: 13px;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
	background: #cccccc;
	color: #000000;
}

#box.post .titulo {
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
	background: #000;
	color: #ffffff;
	font-size: 16px;
	padding: 12px 0;
}

#box span {
	display: block;
	padding: 4px 5px;
}

#box .fecha {
	font-size: 12px;
	margin-bottom: 10px;
	text-align: right;
}

#box .mas {
	display: block;
	position: absolute;
	bottom: -8px;
	right: 12px;
	text-align: right;
}

#box .mas a {
	text-decoration: none;
	padding: 6px 30px;
	font-size: 13px;
	text-transform: uppercase;
	box-shadow: rgba(0, 0, 0, 0.85) 0px 12px 10px -8px;
	border-bottom: 2px solid #cccccc;
	border-radius: 4px;;
}

#box .detalles {
	display: block;
	padding: 5px 10px;
}

#box .detalles .titulo {
	display: inline-block;
	text-transform: uppercase;
	padding: 8px 12px 4px 12px;
	font-size: 15px;
	font-weight: normal;
	margin: 15px 0;
	color: #ffffff;
	border-bottom: 2px solid #2b2e83;
	background: #2b2e83;
	width: 50%;
}

#box .detalles .titulo_form {
	display: block;
	padding: 7px;
	font-size: 18px;
	background: #000;
	color: #fff;
	margin: 0;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
}

.form_oculto {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 100000000;
	background: rgba(0, 0, 0, 0.8);
	overflow: hidden;
	overflow-y: auto;
}

.cerrar {
	position: fixed;
	right: 3%;
	top: 10px;
	z-index: 1100;
	background: #DC4D00 url(imagen/cerrar_wh.png) center center / 25px no-repeat;
	width: 25px;
	height: 25px;
	padding: 15px;
	border-radius: 100vw;
	box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 20px 4px;
}


form {
	padding: 3%;
	background: #2b2e83;
	color: #fff;
	margin: 3% auto;
	max-width: 700px;
	border: rgba(0, 0, 0, 0.4) 5px solid;
}

form input, form select {
	display: inline-block;
	padding: 7px 5px;
	border: 0px;
	color: #000;
	font-weight: normal;
	font-size: 14px;
	width: calc(100% - 10px);
}

form select {
	display: inline-block;
	padding: 7px 5px;
	border: 0px;
	color: #000;
	font-weight: normal;
	font-size: 14px;
	width: 100%;
}

form input.file {
	margin: 10px 0 35px 0;
	padding: 12px;
	width: calc(100% - 24px);
	background: #000;
	color: #fff;
}

form input[type=submit] {
	display: inline-block;
	width: auto;
	background: #ffffff;
	color: #2b2e83;
	font-weight: bold;
	padding: 10px 15px;
	text-transform: uppercase;
	text-align: center;
	margin: 0 auto 30px auto;
	cursor: pointer;
	border-radius: 3px;
	box-shadow: rgba(0, 0, 0, 0.4) 2px 2px 10px 2px;
}

#box span.btn_verificar {
	display: inline-block;
	background: #ffffff;
	color: #2b2e83;
	font-weight: bold;
	padding: 10px 15px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 30px;
	cursor: pointer;
	border-radius: 3px;
	box-shadow: rgba(0, 0, 0, 0.4) 2px 2px 10px 2px;
}

form.login {
	display: block;
	margin: 40px auto 0 auto;
	width: 80%;
	max-width: 400px;
	text-align: center;
	background: #ffffff;
	box-shadow: rgba(0, 0, 0, 0.7) 0px 40px 20px -30px;
	color: #000;
}

form.login .titulo {
	display: block;
	padding: 15px 5px;
	background-color: #000000;
	color: #ffffff;
	margin: -3% -3% 20px -3%;
}

form.login input[type=text], form.login input[type=password] {
	background: #2b2e83;
	border: 1px solid #ccc;
	color: #ffffff;
	margin: 5px 0;
}


form.login input[type=submit] {
	background: #2b2e83;
	color: #ffffff;
}


.login ::placeholder  { color: #ffffff; opacity: 0.8; }
.login :-ms-input-placeholder { color: #ffffff; opacity: 0.8; }
.login ::-ms-input-placeholder { color: #ffffff; opacity: 0.8; }


form .titulo_llenar {
	display: block;
	background: #DC4D00;
	color: #ffffff;
	margin: 0 0 30px 0;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	padding: 14px 0;
}

form .personales {
	display: grid;
	grid-template-areas: '1fr 1fr'
	'1fr 1fr';
	gap: 15px;
}

form span.abrir_referencia {
	display: inline-block;
	width: 40%;
	color: #ffffff;
	padding: 5px;
	margin: 30px 5px 10px 0px;
	border-bottom: #DC4D00 dotted 2px;
	border-left: #DC4D00 dotted 2px;
}

form .referencias {
	border-left: #DC4D00 solid 2px;
	padding: 0 0 0 10px;
	margin: 0 0 50px 0;
}

form span.abrir_referencia.activado {
	background: #DC4D00;
}

input.ref {
	margin-bottom: 10px;
	width: 60%;
}

hr {
	display: block;
	height: 2px; 
	background: #fff;
	border: 0px;
}


#hide, .oculto {
	display: none;
}

form input.codigo_verificacion {
	display: block;
	width: 65%;
	max-width: 220px;
	margin: 5px auto 20px auto;
}

#box span.verificar_reenviar {
	display: inline-block;
	font-size: 13px;
}

#box span.verificar_confirmar {
	display: inline-block;
	background: #ffffff;
	color: #2b2e83;
	font-weight: bold;
	padding: 10px 15px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 30px;
	cursor: pointer;
	border-radius: 3px;
	box-shadow: rgba(0, 0, 0, 0.4) 2px 2px 10px 2px;
}


.mostrar_form, .mostrar, .verificar_confirmar, .verificar_reenviar {
	cursor: pointer;
}

#menu {
	position: fixed;
	display: block;
	width: 100%;;
	background: #2b2e83;
	color: #fff;
	padding: 2px;
	box-shadow: rgba(0, 0, 0, 0.8) 2px 2px 17px 2px;
	z-index: 100;
}

#menu a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding: 6px 15px;
}



#boxpanel {
	position: relative;
	display: block;
	width: 92%;
	max-width: 600px;
	margin: 0 auto 15px auto;
	padding: 0;
	box-shadow: rgba(0, 0, 0, 0.8) 0px 25px 10px -20px;
	background: #ffffff;
	border-radius: 5px;
}

#boxpanel.postulados {
	margin-bottom: 50px;
}

#boxpanel .titulo_nuevopost {
	display: block;
	background: #000;
	color: #ffffff;
	font-size: 16px;
	padding: 12px 0;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	margin: 0;
}

#boxpanel .titulo {
	display: block;
	padding: 10px;
	background: #000000;
}

#alerta.info_notificaciones {
	position: absolute;
	top: 8%;
	left: 50%;
	transform: translateX(-50%);
	width: 91%;
	height: 150px;
	border: 0px #ffffff solid;
	box-shadow: rgba(0, 0, 0, 0.70) 0px 0px 20px 15px;
	z-index: 50;
}


#alerta.info_notificaciones span {
	
	background: #000000;
	padding: 5px 15px;
}

.info_status {
	display: inline-block;
	padding: 0 5px;
	font-size: 14px;
	margin-right: 25px;
}

.sin {
	display: inline-block;
	border-bottom: #777777 dotted 2px;
	padding: 5px 20px;
}

#boxpanel .titulo.info_pendiente, .info_pendiente {	border-left: 15px solid red; }
#boxpanel .titulo.info_descargado, .info_descargado {	border-left: 15px solid #dcb700; }
#boxpanel .titulo.activo, #boxpanel .titulo.info_seleccionado, .info_seleccionado, .info_activo {	border-left: 15px solid #089E01; }
#boxpanel .titulo.inactivo, #boxpanel .titulo.info_descartado, .info_descartado, .info_inactivo {	border-left: 15px solid #777777; }

.info_status { color: #ffffff; border-radius: 100vw;}

.link_compartir {
	display: block;
	color: #ffffff;
	padding: 5px 0;
	background: #777777;
	margin: 0;
	text-align: center;
}

.link_compartir span {
	display: inline-block;
	font-weight: bold;
	color: #000000;
	background: #ffffff;
	padding: 3px 15px;
}

#boxpanel a {
	display: inline-block;
	font-size: 15px;
	margin: 7px 10px 7px 10px;
	padding: 4px 10px;
	background: #eaeaea;
	color: #000;
	text-decoration: none;
}

textarea.crear {
	display: block;
	width: calc(100% - 20px);
	height: 100px;
	padding: 10px;
	border: 0px;
}


#boxpanel.postulados {
	padding: 15px;
}

#boxpanel.postulados div.oculto {
	background: #e4e4e4;
	margin-bottom: 75px;
	border-bottom: 2px dotted #777777;
	padding-bottom: 20px;
}


#boxpanel.postulados div.oculto .botones {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
}

#boxpanel.postulados div.oculto a {
	text-align: center;
	background: #f8f8f8;
	color: #777777;
	line-height: 25px;
	border: 2px dotted #c0c0c0;
}


#boxpanel.postulados div.oculto a.descargado, 
#boxpanel.postulados div.oculto a.seleccionado, 
#boxpanel.postulados div.oculto a.descartado
{
	border: 1px dotted #ffffff;
	color: #ffffff;
	box-shadow: rgba(0, 0, 0, 0) 0px 10px 7px -6px;
}

a.btn1, a.btn2, a.btn3 { cursor: pointer; }

#boxpanel.postulados div.oculto a.descargado { background: #2b2e83; }
#boxpanel.postulados div.oculto a.seleccionado { background: #2b2e83; }
#boxpanel.postulados div.oculto a.descartado { background: #2b2e83; }

#boxpanel a.titulo {
	color: #ffffff;
	display: block;
	margin: 0;
	text-transform: uppercase;
	font-size: 13px;
}

#boxpanel span.inicio_posts {
	display: block;
	padding: 5px 15px;
	margin-bottom: 10px;
}

#boxpanel span.inicio_posts.unidad {
	margin-bottom: 10px;
	background: #dddddd;
}


#boxpanel.postulados b {
	display: inline-block;
	background: #2b2e83;
	color: #fff;
	padding: 6px 2px;
	width: 100px;
	margin: 1px 7px 5px 0px;
	font-weight: normal;
	font-size: 13px;
}

#boxpanel form {
	background: rgba(0, 0, 0, 0.7);
	background: #2b2e83;
	border: 0;
	border-bottom: 5px solid #ffffff;
	margin: 0 auto 75px auto;
	box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 20px 0px;
}

#boxpanel .gridtop {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

#boxpanel .referenciasbox {
	display: grid;
	grid-template-columns: 3fr 2fr 1fr;
	gap: 4px;
	padding: 0 4px;
	font-size: 14px;
}

#boxpanel .referenciasbox span {
	border-bottom: 1px dotted #777777;
	padding: 2px;
}

#boxpanel .referenciasbox::first-line {
	border-left: 4px solid #000000;
}

#power {
	position: relative;
	display: block;
	width: 60px;
	height: 20px;
	background: #dddddd;
	box-shadow: rgba(0, 0, 0, 0.4) 0px 0px 5px 0px;
	border-radius: 100vw;
	cursor: pointer;
	padding: 2px;
	margin-top: 5px;
	margin-bottom: 10px;
	margin-left: auto;
}

#power .colores {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 100%;
	width: 100%;
}

#power .botonpower {
	position: absolute;
	background: #ccc url(imagen/power-icon.svg) center center / 15px no-repeat;
	border-radius: 100vw;
	height: 100%;
	width: 50%;
	left: 0;
	top: 0;
	box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 5px 0px;
	transition: all .5s;
}

#power .botonpower.activo {
	left: 50%;
}

#power .colores div {
	height: 100%;
	width: 100%;
}

#power .colores .verde {
	background: #37e02e;
	border-radius: 100vw;
}

#power .colores .gris {
	background: #777777;
	border-radius: 100vw;
}

.respuesta_botones {
	display: block;
	text-align: center;
	color: red;
	margin: 0 0 15px 0;
}

#footer {
	display: block;
	margin: 50px auto 100px auto;
	text-align: center;
}

#footer a {
	display: inline-block;
	color: #ffffff;
	text-decoration: none;
	padding: 0 15px 5px 15px;
	text-transform: uppercase;
	border-bottom: 1px solid #ffffff;
}

#avisos-legal {
	display: block;
	padding: 3%;
	color: #ffffff;
}


#avisos-legal b {
	text-transform: uppercase;
}


#box .detalles .titulo_form {
	display: block;
	font-size: 15px;
	padding: 10px 0;
	margin: 10px 0;;
	background: #DC4D00;
	border: solid 3px #ffffff;
	box-shadow: rgba(0, 0, 0, 0.5) 2px 2px 10px 2px;
}

.estatus_verificacion #alerta, .estatus_verificacion #error, .estatus_verificacion #exito {
	padding: 10px;
}

.recuperar_pass {
	display: block;
	font-size: 12px;
	text-align: center;
	padding: 10px 0;
}

.recuperar_pass a {
	padding: 5px;
	color: #2b2e83;
	border-bottom: 1px solid #cccccc;
	text-decoration: none;
}





/* LOADER */
#boxloader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	top: 0;
	left: 0;
	z-index: 100;
	display: none;
}
.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    border: 5px solid #ffffff;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation .5s linear infinite;
	box-shadow: rgba(0, 0, 0, 0.5) 2px 2px 10px 2px;
    }

    @keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
    } 


@media screen and (max-width: 940px) {
		
	#allpost {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 15px;
		margin: 10px;
	}

	#box .titulo {
		padding: 5px;
		font-size: 14px;
	}

}


@media screen and (max-width: 720px) {
		
	#allpost {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin: 10px;
	}

	#box .titulo {
		padding: 5px;
		font-size: 13px;
	}
	
	#box .detalles .titulo {
		width: 68%;
	}

}