.nav-link-header_login{
    background-color: var(--pink);
    color: white !important;
}

@media (min-width: 992px) {
    .navbar-nav .nav-link.active, .navbar-nav .show > .nav-link{
        background-color: var(--purple);
    }
}

.bg-footer{
    background-color: var(--purple);
    padding: 20px 0;
    color: white;
}

/* Menú principal del CNPIE */
.menu-main{
    padding: 0;
    margin: 0;
    text-align: center;
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center;
    list-style: none;
    flex-wrap: wrap;
}
.menu-main li{
    border: 1px solid var(--purple);
    border-right: none;
    list-style: none;
    width: 50%;
    position: relative;
}
.menu-main li:nth-child(2n), 
.menu-main li:last-child{
    border-right: 1px solid var(--purple);
}
.menu-main a {
    display: table-cell;
    padding: 0px 10px;
    vertical-align: middle;
    width: 300px;
    height: 45px;
    text-transform: uppercase;
    color: var(--purple);
    background-color: white;
    font-size: 0.8rem;
}
.menu-main a.active{
    background-color: var(--purple);
    color: white;
}

@media (min-width: 768px) {
    .menu-main li{
        width: 25%
    }
    .menu-main li:nth-child(2n){
        border-right: none;
    }
    .menu-main li:nth-child(4n){
        border-right: 1px solid var(--purple);
    }
}
@media (min-width: 992px) {
    .menu-main li{
        width: 14.25%
    }
    .menu-main li:nth-child(4n){
        border-right: none;
    }
    .menu-main a {
        padding: 0 8px;
        width: 200px;
        height: 60px;
        font-size: 0.82rem;
    }
    .menu-main a.active::after{
        content: "";
        position: absolute;
        bottom: -19px;
        left: calc(50% - 18px);
        margin: 0 auto;
        width: 0;
        height: 0;
        border-top: 18px solid var(--purple);
        border-left: 18px solid transparent;
        border-right: 18px solid transparent;
    }
}
@media (min-width: 1200px) {
    .menu-main a {
        font-size: 0.85rem;
    }
}

.blocks{
    width: 100%;
}
.block{
    display: block;
}
.block-1{
    width: 100%;
}
.block-2{
    width: 100%;
    background-image: url("../images/cnpie2023/bg-stages.png");
    background-repeat: no-repeat;
    background-position: center 440px;
    height: 940px;
    padding-top: 450px;
    background-size: 300px auto;
}
.block-3{
    width: 100%;
    background-image: url(../images/cnpie2023/bg-who-participate.png);
    background-repeat: no-repeat;
    background-position: center 440px;
    height: 880px;
    padding-top: 450px;
    background-size: 350px auto;
}
.block-4{
    width: 100%;
    background-image: url(../images/cnpie2023/bg-tutoriales.png);
    background-repeat: no-repeat;
    background-position: center 440px;
    height: 880px;
    padding-top: 450px;
    background-size: 300px auto;
}

.block-5{
    width: 100%;
    background-repeat: no-repeat;
    background-position: center 440px;
    height: 880px;
    padding-top: 450px;
    background-size: 300px auto;
}

.border-bottom-pink{
    position: relative;
    padding-bottom: 30px;
}
.border-bottom-pink::after{
    width: 80px;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    background-color: var(--pink);
    border-radius: 2px;
}
.border-bottom-pink2{
    position: relative;
    padding-bottom: 30px;
}
.border-bottom-pink2::after{
    width: 8px;
    height: 150px;
    position: absolute;
    bottom: 0;
    left: -180;

    content: "";
    background-color: var(--pink);
    border-radius: 2px;
}


.stage{
    position: absolute;
    border: 1px solid #f5f5f5;
    background-color: white;
    padding: 10px;
    border-radius: 6px;
    -webkit-box-shadow: -8px 6px 12px 0 rgba(30,29,31,0.3);
    -moz-box-shadow: -8px 6px 12px 0 rgba(30,29,31,0.3);
    box-shadow: -8px 6px 12px 0 rgba(30,29,31,0.3);
}
.stage h3 {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--purple);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--pink-light);
    margin-bottom: 0.4rem;
}
.stage p{
    margin-bottom: 0;
    font-size: 0.8rem;
}
.stage-1 {
    top: 420px;
    left: calc(50% - 106px);
    width: 180px;
}
.stage-2 {
    top: 540px;
    left: calc(50% + 2px);
    width: 162px;
}
.stage-3 {
    top: 670px;
    left: calc(50% - 98px);
    width: 172px;
}
.stage-3 h3 {
    padding: 10px 0 16px 40px;
}
.stage-4 {
    top: 830px;
    left: calc(50% - 22px);
    width: 180px;
}

.stage-1::after {
    content: "";
    position: absolute;
    top: 22px;
    right: -14px;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-left: 14px solid white;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}
.stage-2::after {
    content: "";
    position: absolute;
    top: 45px;
    left: -14px;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-right: 14px solid white;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}
.stage-3::after {
    content: "";
    position: absolute;
    top: 40px;
    left: -14px;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-right: 14px solid white;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}
.stage-4::after {
    content: "";
    position: absolute;
    top: -14px;
    left: 38px;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-bottom: 14px solid white;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
}

.border-bottom-pink-light-2 {
    border-bottom: 2px solid var(--pink-light);
}

@media (min-width: 576px) {
    .block-2 {
        background-position: 90% 380px;
        height: 890px;
        padding-top: 360px;
        background-size: 325px auto;
    }
    .stage-1 {
        top: 363px;
        left: calc(50% - 40px);
        width: 185px;
    }
    .stage-2 {
        top: 530px;
        left: calc(50% + 85px);
        width: 180px;
    }
    .stage-2::after {
        top: 28px;
    }
    .stage-3 {
        top: 656px;
        left: calc(50% - 276px);
        width: 170px;
    }
    .stage-3::after {
        top: 15px;
        border-left: 14px solid white;
        border-top: 14px solid transparent;
        border-bottom: 14px solid transparent;
        border-right: none;
        left: auto;
        right: -14px;
    }
    .stage-4 {
        top: 804px;
        left: calc(50% + 54px);
        width: 180px;
    }
    .block-3 {
        background-position: center 380px;
        height: 750px;
        padding-top: 360px;
        background-size: 350px auto;
    }
    .block-4 {
        background-position: center 380px;
        height: 800px;
        padding-top: 360px;
        background-size: 300px auto;
    }
}

@media (min-width: 768px) {
    .block-1 {
        width: 50%;
    }
    .block-2 {
        background-position: 90% 120px;
        height: 730px;
        padding-top: 110px;
        background-size: 380px auto;
    }
    .stage p {
        font-size: 0.95rem;
    }
    .stage-1 {
        top: 109px;
        left: calc(50% + 12px);
        width: 206px;
    }
    .stage-2 {
        top: 304px;
        left: calc(50% + 132px);
        width: 210px;
    }
    .stage-3 {
        top: 448px;
        left: calc(50% - 294px);
        width: 210px;
    }
    .stage-4 {
        top: 615px;
        left: calc(50% + 75px);
        width: 210px;
    }
    .stage-4::after {
        left: 72px;
    }
    .block-3 {
        background-position: center 470px;
        height: 820px;
        padding-top: 360px;
        background-size: 350px auto;
    }
    .block-4 {
        background-position: 400px 50px;
        height: 700px;
        padding-top: 360px;
        background-size: 300px auto;
    }
}

@media (min-width: 992px) {
    .blocks {
        width: 90%;
        margin: 0 auto;
    }
    .block-1 {
        width: 45%;
    }
    .block-2 {
        background-position: 360px 140px;
        height: 760px;
        padding-top: 110px;
        background-size: 420px auto;
    }
    .stage h3 {
        font-size: 0.95rem;
    }
    .stage-1 {
        top: 130px;
        left: 460px;
        width: 220px;
    }
    .stage-2 {
        top: 349px;
        left: 585px;
        width: 220px;
    }
    .stage-3 {
        top: 505px;
        left: 128px;
        width: 220px;
    }
    .stage-4 {
        top: 680px;
        left: 532px;
        width: 220px;
    }

    .block-3 {
        background-position: 470px 50px;
        height: 400px;
        padding-top: 360px;
        background-size: 350px auto;
    }
    .block-4 {
        background-position: 500px 50px;
        height: 400px;
        padding-top: 460px;
        background-size: 300px auto;
    }
}

@media (min-width: 1200px) {
    .blocks {
        width: 86%;
        margin: 0 auto;
    }
    .block-1 {
        width: 40%;
    }
    .block-2 {
        background-position: 410px 140px;
        height: 890px;
        padding-top: 110px;
        background-size: 500px auto;
    }
    .stage {
        padding: 12px;
        width: 250px;
    }
    .stage h3 {
        font-size: 1.03rem;
        line-height: 1.1;
        padding: 6px 0 8px 60px;
        min-height: 58px;
        position: relative;
      }
    .stage p {
        font-size: 1rem;
      }
    .stage-1 {
        top: 134px;
        left: 550px;
    }
    .stage-2 {
        top: 400px;
        left: 670px;
    }
    .stage-3 {
        top: 580px;
        left: 158px;
    }
    .stage-3 h3 {
        padding: 16px 0 16px 60px;
    }
    .stage-4 {
        top: 780px;
        left: 634px;
    }

    .block-3 {
        background-position: 590px 50px;
        height: 400px;
        padding-top: 360px;
        background-size: 350px auto;
    }
    .block-4 {
        background-position: 600px 120px;
        height: 450px;
        padding-top: 360px;
        background-size: 250px auto;
    }
}

@media (min-width: 1400px) {
    .blocks {
        width: 86%;
        margin: 0 auto;
    }
    .block-1 {
        width: 37%;
    }
    .block-2 {
        background-position: 450px 110px;
        height: 950px;
        padding-top: 95px;
        background-size: 560px auto;
    }
    .stage {
        padding: 17px 15px 30px 15px;
        width: 270px;
    }
    .stage-1 {
        top: 105px;
        left: 618px;
    }
    .stage-2 {
        top: 408px;
        left: 740px;
    }
    .stage-3 {
        top: 604px;
        left: 178px;
    }
    .stage-4 {
        top: 823px;
        left: 705px;
    }

    .block-3 {
        background-position: 745px 50px;
        height: 400px;
        padding-top: 360px;
        background-size: 350px auto;
    }
    .block-4 {
        background-position: 800px 120px;
        height: 450px;
        padding-top: 360px;
        background-size: 250 auto;
    }
}

/* Icons */

.myicon{
    padding-left: 40px;
}
.myicon::before{
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    left: 5px;
    content: "";
    background-image: url(../images/cnpie2023/sprite-1.svg);
    background-repeat: no-repeat;
    background-size: 90px auto;
    display: block;
    overflow: hidden;
}

.myicon.bocina::before{
    background-position: -2px -2px;
}
.myicon.notas::before{
    background-position: -45px -2px;
}
.myicon.lista::before{
    background-position: -6px -45px;
}
.myicon.laptop::before{
    background-position: -45px -45px;
}

@media (min-width:1200px){
    .myicon::before {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0px;
        left: 0px;
        content: "";
        background-image: url("../images/cnpie2023/sprite-1.svg");
        background-repeat: no-repeat;
        background-size: 130px auto;
        display: block;
        overflow: hidden;
    }
    .myicon.bocina::before {
        background-position: -8px -8px;
    }
    .myicon.notas::before {
        background-position: -73px -8px;
    }
    .myicon.lista::before {
        background-position: -8px -73px;
    }
    .myicon.laptop::before {
        background-position: -73px -73px;
    }
}

.myicon3{
    padding-left: 25px;
}
.myicon3::before{
    width: 45px;
    height: 45px;
    position: absolute;
    top: 5px;
    left: -25px;
    content: "";
    background-image: url(../images/cnpie2023/sprite-3.svg);
    background-repeat: no-repeat;
    background-size: 150px auto;
    display: block;
    overflow: hidden;
}

.myicon3.focus::before{
    background-position: 0px -5px;
}
.myicon3.hand::before{
    background-position: 0px -47px;
}
.myicon3.procces::before{
    background-position: 0px -95px;
}
.myicon3.dart::before{
    background-position: 0px -140px;
}
.myicon3.proccespink::before{
    background-position: -45px -5px;
}
.myicon3.focuspink::before{
    background-position: -45px -47px;
}
.myicon3.glasspink::before{
    background-position: -45px -95px;
}
.myicon3.dartpink::before{
    background-position: -45px -140px;
}
.myicon3.proccespurple::before{
    background-position: -95px -5px;
}
.myicon3.focuspurple::before{
    background-position: -95px -47px;
}
.myicon3.people::before{
    background-position: -95px -95px;
}
.myicon3.dartpurple::before{
    background-position: -95px -140px;
}
.myicon3.users::before{
    background-position: 12px -4px;
}



/* Cards icon */
.card-icon{
    border: none;
    position: relative;
    margin-top: 30px;
    padding: 50px 0 30px;
}
.card-icon::before{
    position: absolute;
    content: "";
    width: 100px;
    height: 100px;
    background-image: url(../images/cnpie2023/sprite-4.svg);
    background-repeat: no-repeat;
    background-size: 200px auto;
    background-position: 0 0;
    top: -45px;
    left: calc(50% - 50px);
}
.card-icon__school::before{
    background-position: -0px -0px;
}
.card-icon__teacher::before{
    background-position: -90px 0;
}


.card-icon2{
    border: none;
    position: relative;
    margin-top: 30px;
    padding: 50px 0 30px;
}
.card-icon2::before{
    position: absolute;
    content: "";
    width: 80px;
    height: 100px;
    background-image: url(../images/cnpie2023/sprite-5.svg);
    background-repeat: no-repeat;
    background-size: 200px auto;
    background-position: 0 0;
    top: -45px;
    left: calc(50% - 30px);
}
.card-icon2__medal::before{
    background-position: -20px -10px;
}
.card-icon2__diploma::before{
    background-position: -105px -10px;
}
.card-icon2__assistant::before{
    background-position: -15px -105px;
}
.card-icon2__finance::before{
    background-position: -105px -105px;
}

/* Accordion */

.accordion-button:not(.collapsed) {
    background-color: #fbf3fc;
    color: black;
    box-shadow: none;
}
.accordion-button:focus {
    border-color: none !important;
    box-shadow: none !important;
}

/* Banner-ganadores */
.bg-banner-2{
    background-image: url(../images/cnpie2023/banner-2.webp);
    background-color: var(--purple);
    background-size: 770px auto;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative;
    height: 285px;
}

.bg-banner-2 .banner-buttons{
    width: 150px;
    padding: 0;
    position: absolute;
    top: 166px;
    left: calc(50% - 165px);
}
.bg-banner-2 .banner-buttons .btn{
    scale: .85;
    line-height: 1.6;
}

@media (min-width: 480px){
    .bg-banner-2{
        background-size: 1000px auto;
        height: 350px;
    }
    
    .bg-banner-2 .banner-buttons{
        width: 155px;
        top: 220px;
        left: calc(50% - 215px);
    }
    .bg-banner-2 .banner-buttons .btn{
        scale: none;
        line-height: 2;
    }
}

@media (min-width: 576px){
    .bg-banner-2{
        background-size: 1280px auto;
        height: 470px;
    }
    
    .bg-banner-2 .banner-buttons{
        width: 190px;
        top: 288px;
        left: calc(50% - 275px);
    }
    .bg-banner-2 .banner-buttons .btn{
        scale: none;
        line-height: 2.3;
        font-size: 14px;
    }
}

@media (min-width: 768px){
    .bg-banner-2{
        background-size: 1450px auto;
        height: 540px;
    }
    
    .bg-banner-2 .banner-buttons{
        width: 190px;
        top: 324px;
        left: calc(50% - 310px);
    }
}

@media (min-width: 992px){
    .bg-banner-2{
        background-size: 1650px auto;
        height: 610px;
    }
    
    .bg-banner-2 .banner-buttons{
        top: 370px;
        left: calc(50% - 353px);
    }
}


@media (min-width: 1400px){
    .bg-banner-2{
        background-size: 1920px auto;
        height: 675px;
    }
    
    .bg-banner-2 .banner-buttons{
        top: 432px;
        left: calc(50% - 410px);
    }
}



/* Banner */
.bg-banner{
    background-image: url(../images/cnpie2023/banner-1.webp);
    background-color: var(--purple);
    background-size: 700px auto;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative;
}
.bg-banner .logo-cnpie2023{
    position: absolute;
    right: 20px;
    top: 20px;
}
.bg-banner .logo-cnpie2023 img{
    width: 80px;
}
.banner-info{
    width: 200px;
    padding: 50px 0 30px;
    color: white !important;
}
.banner-info h2{
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 15px;
}
.banner-info h2 span{
    background-color: var(--pink);
    border-radius: 10px;
    padding: 0px 10px;
    line-height: 1.6;
}
.banner-info .hashtag{
    font-weight: 500;
    font-size: 0.8rem;
    margin-bottom: 0;
}
.banner-info .hashtag span{
    color: var(--pink);
}
.banner-buttons{
    width: 96%;
    padding: 0 0 50px;
}
.banner-buttons .btn{
    font-size: 0.7rem;
    padding: 6px 20px;
    line-height: 1.6;
}
.banner-buttons .btn i{
    font-size: 0.72rem;
    color: var(--pink);
}


@media (min-width: 480px){
    .bg-banner .logo-cnpie2023{
        right: 40px;
        top: 40px;
    }
    .bg-banner .logo-cnpie2023 img{
        width: 90px;
    }
    .bg-banner{
        background-size: cover;
    }
    .banner-info{
        width: 280px;
        padding: 80px 0 35px 20px;
    }
    .banner-info h2{
        font-size: 1.2rem;
    }
    .banner-info h2 span {
        border-radius: 20px;
        padding: 0px 10px;
        line-height: 1.3;
    }
    .banner-info .hashtag {
        font-size: 0.9rem;
    }
    .banner-buttons{
        padding: 0 20px 80px;
    }
}

@media (min-width: 768px){
    .bg-banner .logo-cnpie2023{
        right: 50px;
        top: 70px;
    }
    .bg-banner .logo-cnpie2023 img{
        width: 100px;
    }
    .banner-info{
        width: 300px;
        padding: 120px 0 45px 30px;
    }
    .banner-info h2{
        font-size: 1.3rem;
        margin-bottom: 18px;
    }
    .banner-info .hashtag {
        font-size: 0.95rem;
    }
    .banner-buttons{
        padding: 0 30px 120px;
    }
}

@media (min-width: 992px){
    .bg-banner .logo-cnpie2023{
        right: 60px;
        top: 70px;
    }
    .bg-banner .logo-cnpie2023 img{
        width: 110px;
    }
    .banner-info{
        width: 340px;
        padding: 150px 0 45px 40px;
    }
    .banner-info h2{
        font-size: 1.4rem;
        margin-bottom: 22px;
    }
    .banner-info .hashtag {
        font-size: 0.95rem;
    }
    .banner-buttons{
        padding: 0 40px 150px;
    }
}

@media (min-width: 1200px){
    .bg-banner .logo-cnpie2023{
        right: 70px;
        top: 70px;
    }
    .bg-banner .logo-cnpie2023 img{
        width: 120px;
    }
    .banner-info{
        width: 470px;
        padding: 160px 0 60px 70px;
    }
    .banner-info h2{
        font-size: 1.8rem;
        margin-bottom: 35px;
        line-height: 1.4;
    }
    .banner-info .hashtag {
        font-size: 1.2rem;
    }
    .banner-buttons{
        padding: 0 70px 160px;
    }
    .banner-buttons .btn {
        font-size: 0.8rem;
        padding: 9px 25px;
        line-height: 1.6;
    }
    .banner-buttons .btn i {
        font-size: 0.9rem;
        color: var(--pink);
    }
}

/* Border*/
.border-rounded-pink{
    border: 1px solid var(--pink);
    border-radius: 8px;
}
.border-rounded-green{
    border: 1px solid var(--green);
    border-radius: 8px;
}


/* Select */
.select2-container .select2-selection--single{
    height: 36px;
    border: 1px solid #d2c0d0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 36px;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background-color: #7d3583;
}
.select2-container--default .select2-results__option--selected{
    background-color: #e6d8e9;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b
{
    border-color: #a180aa transparent transparent transparent;
    border-width: 8px 6px 0 6px;
    height: 0;
    margin-left: -10px;
    margin-top: 0;
}

.cnpie2025list{
    padding: 0 !important;
}
.cnpie2025list li{
    position: relative;
    padding-left: 25px;
}
.cnpie2025list li::before{
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #7d3583;
    position: absolute;
    top: 10px;
    left: 12px;
}


/* Banner registro */
.bg-banner-register .banner-info {
  width: 58%;
  max-width: 230px;
  padding: 50px 0 0;
}
.bg-banner-register{
    background-image: url(../images/bg-header-registro.png);
    background-color: var(--purple);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative;
    height: 200px;
}
.bg-banner-register .banner-info p {
  font-size: 0.85rem;
  line-height: 1.6;
}

.bg-banner-register .logo-cnpie2026 {
  width: 100px;
  position: absolute;
  top: 34px;
  right: 12px;
  background-color: #fff;
  padding: 0px 10px;
  border-radius: 8px;
}

@media (min-width: 576px){
    .bg-banner-register{
        height: 220px;
    }
    .bg-banner-register .logo-cnpie2026 {
      width: 110px;
      top: 40px;
      right: 0;
    }
    .bg-banner-register .banner-info {
      max-width: 300px;
      padding: 80px 0 0;
    }
    .bg-banner-register .banner-info p {
      font-size: 0.9rem;
    }
}

@media (min-width: 768px){
    .bg-banner-register{
        height: 230px;
    }
    .bg-banner-register .logo-cnpie2026 {
      width: 120px;
      top: 45px;
      right: 20px;
    }
    .bg-banner-register .banner-info {
      max-width: 350px;
      padding: 75px 0 0;
    }
    .bg-banner-register .banner-info p {
      font-size: 0.95rem;
    }
}

@media (min-width: 992px){
    .bg-banner-register{
        height: 250px;
    }
    .bg-banner-register .logo-cnpie2026 {
      width: 130px;
      top: 50px;
      right: 30px;
    }
    .bg-banner-register .banner-info {
      max-width: 400px;
      padding: 80px 0 0 20px;
    }
    .bg-banner-register .banner-info h2{
      font-size: 2.2rem;
    }
    .bg-banner-register .banner-info p {
      font-size: 1.2rem;
    }
}

@media (min-width: 1200px){
    .bg-banner-register{
        height: 280px;
    }
    .bg-banner-register .logo-cnpie2026 {
      width: 140px;
      top: 60px;
      right: 40px;
    }
    .bg-banner-register .banner-info {
      max-width: 450px;
      padding: 70px 0 0 20px;
    }
    .bg-banner-register .banner-info h2{
      font-size: 2.5rem;
    }
    .bg-banner-register .banner-info p {
      font-size: 1.4rem;
      line-height: 1.6;
    }
}