/*------------------------------------*\
 carga de fuentes tipográficas
\*------------------------------------*/


@font-face {
  font-family: 'Montserrat';
  src: local('Montserrat Light'),
    url(../fonts/Montserrat-Light.ttf) format('ttf');
  font-style: normal;
  font-weight: 300;
}

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


@font-face {
  font-family: 'Montserrat';
  src: local('Montserrat Medium'),
    url(../fonts/Montserrat-Medium.ttf) format('ttf');
  font-style: normal;
  font-weight: 600;
}


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





/*------------------------------------*\
 estilos generales
\*------------------------------------*/

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
}


.container {
  max-width: 1080px;
}

.title {
  font: 600 26px Montserrat, serif;
  position: relative;
}

.description {
  width: 70%;
  margin: 0 auto;
  line-height: 1.3;
  position: relative;
  padding-bottom: 16px;
  color: rgb(145, 145, 145);
}

.descriptionb {
  width: 70%;
  margin: 0 auto;
  line-height: 1.3;
  position: relative;
  padding-bottom: 16px;
  color: #999;
}


.text-bluelite {
  color: #d9e4ff
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #192c6b;
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(25, 55, 107, .2);
}

.enlace-privacidad {
  color: #d9e4ff;
  font-size: .8em;
}

.enlace-privacidad:hover {
  color: #EEF3FF;
}

.aviso {
  padding: 1em 2em;
  background-color: #fff;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, .08);
  color: #666
}





/*------------------------------------*\
 sección #header
\*------------------------------------*/

.header-nav--bg {
  background-color: #F2F2F2;
}

.header-nav__link {
  color: #B3B2B2;
  text-transform: uppercase;
}

.header-nav__link:hover {
  color: #4D4D4D;
}





/*------------------------------------*\
 sección #convocatoria
\*------------------------------------*/

.convocatoria {
  background:
    linear-gradient(rgba(12, 27, 77, 0.93), rgba(12, 27, 77, 0.93)),
    url(../img/bg_spf_b.jpg) left center;
  background-size: cover;
  background-color: #0c1b4d;
  transition: opacity 2.0s ease-in;
  color: #fff;
}

.convocatoria-policia {
  background:
    url(../img/bg_policia.png) left center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #173372;
  transition: opacity 2.0s ease-in;
  color: #fff;
  min-height: 650px
}

@media only screen and (min-width: 1200px) {
  .convocatoria-policia {
    background-position: 15% center;
  }
}

@media only screen and (max-width: 1020px) {
  .convocatoria-policia {
    font-size: .9em;
    min-height: 400px;
  }

  .convocatoria-logo__box-policia {
    min-height: 400px;
  }
}


.convocatoria-guardia {
  background:
    url(../img/bg_guardia.png) right 84px;
  background-size: 760px;
  background-repeat: no-repeat;
  background-color: #0d235e;
  transition: opacity 2.0s ease-in;
  color: #fff;
}

@media only screen and (min-width: 1200px) {
  .convocatoria-guardia {
    background-position: 80% 84px;
  }
}


@media only screen and (max-width: 1020px) {
  .convocatoria-guardia {
    background-size: 50%;
    background-position: 80% bottom;
  }

  .convocatoria-logo__box-policia {
    min-height: 400px;
  }
}

@media only screen and (max-width: 600px) {
  .convocatoria-guardia,
  .convocatoria-policia {
    background-image: none;
    font-size: 1em;
  }
}

.convocatoria .col,
.convocatoria-policia .col,
.convocatoria-guardia .col {
  padding-left: 0;
  padding-right: 0;
}

.convocatoria_title {
  margin-top: 1.6em;
  margin-bottom: .2em;
  font-size: 1.2em;
  font-weight: 700;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .7);
}


.convocatoria p,
.convocatoria-policia p,
.convocatoria-guardia p {
  color: rgba(255, 255, 255, .7);
  line-height: 1.5;
  font-size: .9em;
}


.convocatoria-policia p,
.convocatoria-guardia p {
  line-height: 1.5;
  font-size: 1em;
}


.convocatoria-logo__box {
  background-size: cover;
  color: #fff;
  text-align: center;
  padding: 4em 0;
}

.convocatoria-logo__box-policia {
  color: #fff;
  text-align: center;
  padding: 4em 0;
  visibility: hidden;
  min-height: 650px;
}


@media only screen and (max-width: 1020px) {
  .convocatoria-logo__box-policia {
    min-height: 400px;
  }
}

@media only screen and (max-width: 600px) {
  .convocatoria-logo__box-policia {
    display: none;
    min-height: 400px;
  }
}


.convocatoria-logo__inner-box {
  height: 100%;
  padding: 7em 0;
}

.convocatoria-registro__box {
  background-color: #173372;
  height: 50%;
  padding: 3em;
  display: flex; 
  justify-content: center;
  align-items: center;
}

.convocatoria-logo__box-policia {
  color: #fff;
  text-align: center;
  padding: 4em 0;
  visibility: hidden;
}

.convocatoria-registro__box-policia {
  background:
    url(../img/bg_pattern.png) 200px 250px;
  background-size: 55%;
  background-repeat: no-repeat;
  height: 100%;
  padding: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}


.convocatoria-registro__box-guardia {
  background:
    url(../img/bg_pattern_2.png) left 100px;
  background-size: 55%;
  background-repeat: no-repeat;
  height: 100%;
  padding: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bg-darkblue {
  background-color: #0E235D;
}


.convocatoria-registro__box-policia h4,
.convocatoria-registro__box-guardia h4 {
  font-size: 3em;
  letter-spacing: .1em;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
}

.convocatoria-registro__box h4 {
  font-size: 1em;
  letter-spacing: .1em;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
}

.btn-registro {
  background-color: #839DD5;
  padding: .9em 2.2em;
  text-align: center;
  color: #fff;
  letter-spacing: .2em;
  font-size: .7em;
  font-weight: 700;
  border-radius: 90px;
  display: inline-block;
  transition: all 0.2s ease-in;
  border: 1px solid transparent
}

.btn-registro:hover {
  text-decoration: none;
  color: #fff;
  background-color: rgba(255, 255, 255, .05);
  border: 1px solid #7a98d8
}


.btn-registro__perfil {
  background-color: #839DD5;
  padding: .9em 2.2em;
  text-align: center;
  color: rgba(255, 255, 255, .8);
  letter-spacing: .2em;
  font-size: .7em;
  font-weight: 700;
  border-radius: 90px;
  display: inline-block;
  transition: all 0.2s ease-in;
  border: 1px solid transparent
}

.btn-registro__perfil:hover {
  text-decoration: none;
  color: #fff;
  background-color: rgba(255, 255, 255, .05);
  border: 1px solid #7a98d8
}






/*------------------------------------*\
 sección #requisitos y prestaciones
\*------------------------------------*/

.title{
  font-family: Montserrat, sans-serif;
}

#section-prestacione{
  font-family: Montserrat, sans-serif;
}


#section-requisitos {
  color: rgb(112, 112, 112);
}

.requisitos {
  background-size: 460px;
  background-color: #F6F6F6;
}

.requisitos-lista {
  background-color: #F6F6F6;
  padding: 2em 1.6em 2em;
}

.requisitos__title {
  font-family: Montserrat, sans-serif;
  /* font: 600 26px Montserrat, serif; */
  position: relative;
  margin-top: 0px;
  padding-top: 0;
}

.requisitos__description {
  font: .7em/1.5 Montserrat, sans-serif;
  width: 50%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 16px;
}

.requisitos__description:after {
  content: '';
  position: absolute;
  display: block;
  margin: auto;
  right: 0;
  bottom: 0;
  left: 0;
  width: 140px;
  height: 2px;
  background-color: #CBCBCB;
}

.requisitos-lista__item {
  color: #999;
  font-size: .8em;
  line-height: 1.3;
  margin-bottom: 1em;
  /* margin-right: 7em; */
  transition: all 0.1s ease-in;
  flex-basis: 33.3%;
  /*padding-left: 58px;
  padding-right: 8px; */
  text-align: left;
  background-color: 689288;
  /* display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 100px; */
  /* box-shadow: rgba(0, 0, 0, 0.05) 0px 8px 24px */

 /* text-align: left;
  font-size: .7em;
  color: #999;
  /* background-color: #7CA097;
  border-radius: 8px; */
  /*padding: 1em;
  display: flex;
  transition: all .3s ease;
  /* box-shadow: rgba(0, 0, 0, 0.05) 0px 8px 24px; */
}

/*
.prestaciones-lista__item {
  font-size: .9em;
  color: #fff;
  background-color: #7CA097;
  border-radius: 8px;
  padding: 1em;
  display: flex;
  transition: all .3s ease;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 8px 24px;
}


.prestaciones-lista__item p {
  margin: 0;
  padding-left: 1em;
}
*/

.requisitos-lista__item p {
  /*margin-top: .8em;*/

  margin-top: 2em;
  padding-left: 0em;
}

.requisitos-lista__item:hover {
  -webkit-transform: scale3d(1.1, 1.1, 5);
  transform: scale3d(1.1, 1.1, 5);
}

.requisitos h2 {
  color: rgb(112, 112, 112);
}


.prestaciones {
  background-color: #689288;
  background-image: url(../img/bg_prestaciones.png);
  background-size: 65%;
  background-position: -5em -5em;
  color: #fff;
}

.prestaciones-lista {
  margin-left: -7em;
  margin-right: -7em;
  padding: 0em;
  background-color: 689288;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.prestaciones-lista__item {
  font-size: .9em;
  color: #fff;
  background-color: #7CA097;
  border-radius: 8px;
  padding: 1em;
  display: flex;
  transition: all .3s ease;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 8px 24px;
}


.prestaciones-lista__item p {
  margin: 0;
  padding-left: 1em;
}

.prestaciones-lista__item:hover {
 background-color: #173372;
 color: rgba(255, 255, 255, .9);
}








/*------------------------------------*\
sección #preinscripción
\*------------------------------------*/

.preinscripcion {
  margin: auto;
}

.preinscripcion__title {
  font: 600 26px Montserrat, serif;
  position: relative;
  margin-top: 0px;
  padding-top: 0;
}

.preinscripcion__description {
  margin: 0 0 16px 0;
  /* width: 80%; */
}

.preinscripcion__description:after {
  margin: auto 0;
}

.preinscripcion__context {
  color: #999;
  line-height: 1.6;
  font-weight: 400;
  font-size: .9em;
}

.preinscripcion__form {
  font-size: 14px;
  color: #808080;
}

.preinscripcion__form button {
  background-color: #0C1B4D;
  border-color: #0C1B4D;
  font-weight: bold;
  font-size: 14px;
}

.preinscripcion__form button:hover {
  background-color: #142E7A;
}


/*+-----------------------------------*\
seccion de funciones
\*---------------------------------------*/

.funciones__title {
  font-family: Montserrat, sans-serif;
  position: relative;
  margin-top: 0px;  
  padding-top: 0;
  padding-bottom: 1em;
  color: #245C4F;
  font-weight: bold;
}


ol li{
  color: #245C4F
}
ol li p{
  color: #ABABAB
}

.funciones_content{
  color: #ABABAB
}

.funciones_col{
  
}

/*------------------------------------*\
Sección #proceso de reclutamiento
\*-----------------------f-------------*/

.proceso-reclutamiento {
  /* background: url(../img/bg_proceso_reclutamiento.png) no-repeat bottom left; */

  background:
    linear-gradient(rgba(36, 92, 79, .9), rgba(36, 92, 79, .9)),
    url(../img/bg_proceso.png) left bottom;
  /* background-color: #245C4F; */
  background-size: cover;
  /* background-attachment: fixed;
  background-blend-mode: multiply; */
  color: #fff;
  padding: 1em 0;
}

.proceso-reclutamiento__title {
  margin-top: 0;
  padding-top: 0;
}

.proceso-reclutamiento__subs {
  margin-left: 16px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-size: .9em;
  font-weight: bold;
}


.proceso-reclutamiento__box {
  transition: all 0.1s ease-in;
}

/* .proceso-reclutamiento__box:hover {
  -webkit-transform: scale3d(1.1, 1.1, 5);
  transform: scale3d(1.1, 1.1, 5);
} */

.proceso-reclutamiento p {
  padding-left: 16px;
  padding-right: 8px;
  font-size: .8em;
  color: rgba(255, 255, 255, .6);
}

.proceso-reclutamiento span {
  color: #B38E5D;
  display: block;
  float: left;
  margin-left: -45px;
  font-size: 60px;
  line-height: 1;
  font-weight: 600;
  font-family: Montserrat, sans-serif;
}


@media only screen and (max-width: 1100px) {
  .proceso-reclutamiento span  {
    display: block;
    float: left;
    margin-left: 0;
  }
}


@media only screen and (max-width: 600px) {
  .proceso-reclutamiento span  {
    display: none;
  }
}

#timeline-wrap {
  position: relative;
  margin: 0 auto;
  width: 80%;
}

#timeline {
  height: 1px;
  width: 100%;
  background-color: #fff;
  position: relative;
}

.marker {
  z-index: 1000;
  color: #fff;
  width: 18px;
  height: 18px;
  line-height: 18px;
  font-size: .9em;
  text-align: center;
  position: absolute;
  margin-left: -18px;
  background-color: #999999;
  border-radius: 50%;
}

.marker:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition: all 300ms ease;
}

.timeline-icon.one {
  background-color: #fff !important;
}

.timeline-icon.two {
  background-color: #fff !important;
}

.timeline-icon.three {
  background-color: #fff !important;
}

.timeline-icon.four {
  background-color: #fff !important;
}

.mfirst {
  top: -8px;
  left: 0%
}

.m2 {
  top: -8px;
  left: 33%
}

.m3 {
  top: -8px;
  left: 64%
}

.mlast {
  top: -8px;
  left: 100%
}





/*------------------------------------*\
Sección #contexto Protección Federal
\*-----------------------f-------------*/

.contextoSpf {
  /* background-color: #F6F6F6; */
  color: #808080;
  line-height: 1.6;
  font-size: .8em;
}





/*------------------------------------*\
#Sección #faq preguntas frecuentes
\*-----------------------f-------------*/

.faq__title {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 8px;
  color: rgb(112, 112, 112);
}



.faq__content {
  position: relative;
  font-size: .9em;
  margin-bottom: 1em;
  padding-right: 3em;
}

.faq__content ul {
  list-style: none;
  margin-left: 0;
  padding-left: 1.6em;
}


.faq__content ul li {
  color: #999;
  line-height: 1.6;
}

.faq__content ul li::before {
  content: "\2022";
  color: #666;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}


.faq__question {
  color: #4d4d4d;
  /* font-weight: bold; */
  line-height: 1.6;
  margin-bottom: .4em;
}

.faq__answer {
  color: #999;
  line-height: 1.6;
}

.faq__icon {
  position: absolute;
  top: 8px;
  left: 8px;
}



/*------------------------------------*\
  Menú lateral fijo
\*------------------------------------*/

.sticky-container {
  padding: 0px;
  margin: 0px;
  position: fixed;
  right: -130px;
  top: 160px;
  width: 210px;
  z-index: 1100;
}

.sticky li {
  list-style-type: none;
  background-color: #fff;
  color: #efefef;
  height: 43px;
  padding: 0px;
  margin: 0px 0px 0px 0px;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
}

.sticky li:hover {
  background-color: #fff;
  margin-left: -115px;
}

.sticky li img {
  float: left;
  margin: 5px 4px;
  margin-right: 5px;
}

.sticky li p {
  padding-top: 5px;
  margin: 0px;
  line-height: 16px;
  font-size: 11px;
}

.sticky li a {
  text-decoration: none;
  color: #2C3539;
}

.sticky li p a:hover {
  text-decoration: underline;
}


/*------------------------------------*\
  footer
\*------------------------------------*/


/* footer {
  background-color: #F6F6F6;
  color: #B3B3B3;
}

@media only screen and (max-width: 600px) {
  .footer-logo {
    width: 80%;
  }
} */


/*------------------------------------*\
  estilos de footer
\*------------------------------------*/


.main-footer {
  background: url(../img/footer_patrón.png) repeat-x center bottom;
  background-size: 901px 47px;
  background-color: #13322b;
  font-size:85%;
  color:#fff;
  line-height:135%;
  height:auto;
  font-weight:300
 }
 .main-footer .list-info {
  line-height:auto;
  padding:30px 0 10px;
  margin-bottom:0
 }
 .main-footer .list-info form label {
  font-weight:300;
  margin-bottom:15px;
  line-height:110%
 }
 .main-footer .list-info form .form-group-icon {
  max-width:none;
  font-size:16px
 }
 .main-footer .list-info form .form-control {
  font-size:16px
 }
 .main-footer .list-info h2 {
  font-size:18px;
  font-weight:300;
  margin-bottom:20px
 }
 .main-footer .list-info h5 {
  font-weight:300;
  margin-bottom:20px;
  font-size:18px
 }
 
 
 .main-footer .list-info a {
  color:white;
  text-decoration:underline
 }
 .main-footer .list-info a:hover {
  text-decoration:none;
 }
 .main-footer .list-info p {
  margin-bottom:15px
 }
 .main-footer .list-info ul {
  margin:0 0 60px;
  padding:0
 }
 .main-footer .list-info ul li {
  list-style-type:none;
  margin:4px 0 0;
  padding:0;
  line-height:110%
 }
 .main-footer .list-info ul li a {
  color:white;
  text-decoration:none;
  font-size:16px
 }
 .main-footer .list-info ul li a:hover {
  text-decoration:underline
 }
 .main-footer .list-info a.share-info:hover {
  outline:2px dashed #5971ad
 }
 .main-footer .row>div {
  margin-bottom:15px
 }
 .main-footer p {
  margin:0;
  font-size:16px;
  line-height:136%;
  height:auto;
  position:static
 }
 .gobmx-footer {
  margin-top:15px
 }
 @media(min-width:768px) {
  .main-footer {
   text-align:left
  }
  .main-footer .list-info form .form-group-icon {
   max-width:300px
  }
  .main-footer .row>div {
   margin-bottom:0
  }
 }
