@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@200;300;400;500;600;700;800&family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root{
    --clr-blue: #1A91F0;
    --clr-blue-mid: #1170CD;
    --clr-blue-dark: #1A1C6A;
    --clr-white: #fff;
    --clr-bright: #EFF2F9;
    --clr-dark: #012d49;
    --clr-black: #000;
    --clr-grey: #016ba4;
    --clr-light-grey: #a1a1a1;
    --clr-green: #ed6b1c;
    --font-poppins: 'Raleway', sans-serif;
    --font-manrope: 'Manrope', sans-serif;;
    --transition: all 300ms ease-in-out;
}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    color: var(--clr-dark);
}

html{
    font-size: 10px;
}

body{
    font-size: 1.6rem;
    font-family: var(--font-poppins);
    font-weight: 500;
}

button{
    border: none;
    background-color: transparent;
    outline: 0;
    cursor: pointer;
    font-family: inherit;
}

img{
    width: 100%;
    display: block;
}

a{
    text-decoration: none;
}

/* fonts */
.font-poppins{font-family: var(--font-poppins);}
.font-manrope{font-family: var(--font-manrope);}

/* text colors */
.text-blue{color: var(--clr-blue);}
.text-blue-mid{color: var(--clr-blue-mid);}
.text-blue-dark{color: var(--clr-blue-dark);}
.text-bright{color: var(--clr-bright);}
.text-dark{color: var(--clr-dark);}
.text-grey{color: var(--clr-grey);}
.text-white{color: var(--clr-white);}

/* backgrounds */
.bg-blue{background-color: var(--clr-blue);}
.bg-blue-mid{background-color: var(--clr-blue-mid);}
.bg-blue-dark{background-color: var(--clr-blue-dark);}
.bg-bright{background-color: var(--clr-bright);}
.bg-dark{background-color: var(--clr-dark);}
.bg-grey{background-color: var(--clr-grey);}
.bg-white{background-color: var(--clr-white);}
.bg-black{background-color: var(--clr-black);}
.bg-green{background-color: var(--clr-green);}

.text-center{ text-align: center;}
.text-left{text-align: left;}
.text-right{text-align: right;}
.text-uppercase{text-transform: uppercase;}
.text-lowercase{text-transform: lowercase;}
.text-capitalize{text-transform: capitalize;}
.text{
    color: var(--clr-dark);
    opacity: 0.9;
    margin: 2rem 0;
    line-height: 1.6;
}

.fw-2{font-weight: 200;}
.fw-3{font-weight: 300;}
.fw-4{font-weight: 400;}
.fw-5{font-weight: 500;}
.fw-6{font-weight: 600;}
.fw-7{font-weight: 700;}
.fw-8{font-weight: 800;}

.fs-13{font-size: 13px;}
.fs-14{font-size: 14px;}
.fs-15{font-size: 15px;}
.fs-16{font-size: 16px;}
.fs-17{font-size: 17px;}
.fs-18{font-size: 18px;}
.fs-19{font-size: 19px;}
.fs-20{font-size: 20px;}
.fs-21{font-size: 21px;}
.fs-22{font-size: 22px;}
.fs-23{font-size: 23px;}
.fs-24{font-size: 24px;}
.fs-25{font-size: 25px;}

.ls-1{letter-spacing: 1px;}
.ls-2{letter-spacing: 2px;}

.container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.6rem;
}

/* bars button */
.bars{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 16.5px;
    width: 25px;
}
.bars .bar{
    width: 100%;
    height: 2px;
    background-color: var(--clr-blue);
    transition: var(--transition);
}

.bars:hover .bar{
    background-color: var(--clr-dark);
}

/* buttons */
.btn{
    font-size: 14.5px;
    font-weight: 600;
    padding: 1.4rem 1.6rem;
    border-radius: 4px;
    display: inline-block;
}

.btn-primary{
    background-color: var(--clr-green);
    color: var(--clr-white);
    transition: var(--transition);
    border: solid 3px;
    border-color: var(--clr-green);
    font-weight: 700;
    border-radius: 50px;
    padding: 1rem 3rem 1rem 3rem;
}

.btn-primary:hover{
    background-color: transparent;
    color: var(--clr-green);
    border: solid 3px;
    border-color: var(--clr-green);
}

.btn-secondary{
    background-color: transparent;
    color: var(--clr-grey);
    border: 2px solid var(--clr-grey);
    transition: var(--transition);
    font-weight: 700;
    border-radius: 50px;
    padding: 1rem 3rem 1rem 3rem;
    margin-bottom: 1em;
}

.btn-secondary:hover{
    background-color: var(--clr-grey);
    color: var(--clr-white);
    border-color: var(--clr-grey);
}

.btn-group button:first-child, .btn-group a:first-child{
    margin-right: 1rem!important;
}

/* navbar part */
.navbar{
    height: 80px;
    display: flex;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px;
}

.navbar .container{
    width: 100%;
}

.navbar-brand{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.8rem;
}
.navbar-brand-text{
    color: var(--clr-dark);
    font-weight: 600;
}
.navbar-brand-text span{
    color: var(--clr-blue);
}
.navbar-brand-icon{
    width: 200px;
    margin-right: 6px;
  
}
.brand-and-toggler{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header{
    min-height: calc(100vh - 80px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.header-content{
    max-width: 740px;
    margin-right: auto;
    margin-left: auto;
}
.header-content img{
    max-width: 760px;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    margin-top: 3.2rem;
}
.lg-title{
    margin: 1.4rem 0;
    font-size: 37px;
    line-height: 1.4;
    color: var(--clr-dark);
}
.header-content p{
    margin-bottom: 2.6rem;
    line-height: 1.6;
}


/* section one */
.section-one{
    padding: 64px 0;
    min-height: 80vh;
    display: flex;
    align-items: center;
}
.section-one-l img{
    max-width: 545px;
    margin-right: auto;
    margin-left: auto;
}
.section-one-r{
    margin-top: 4rem;
}

.section-one .btn-group{
    margin-top: 2rem;
}
.section-one-r{
    max-width: 545px;
    margin-right: auto;
    margin-left: auto;
}
.section-one-r .btn-group{
    margin-top: 3rem;
}

/* section two */
.section-two{
    padding: 64px 0;
}
.section-two .section-items{
    display: grid;
    gap: 2rem;
}

.section-two .section-item{
    max-width: 350px;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}
.section-two .section-item-icon{
    margin: 1rem 0;
}
.section-two .section-item-icon img{
    width: 80px;
    margin-right: auto;
    margin-left: auto;
}
.section-two .section-item-title{
    color: var(--clr-blue-dark);
    font-size: 1.8rem;
    font-weight: 600;
}
.section-two .text{
    margin: 0.9rem 0;
}

/* footer */
.footer{
    padding: 3rem 0;
}
.footer-content p{
    color: var(--clr-grey);
}
.footer-content p span{
    color: var(--clr-white);
}

/* media queries */
@media screen and (min-width: 768px){
    .section-two .section-items{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 992px){
    .section-one-content{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 3rem;
    }
    .section-one-r{
        text-align: left;
    }
    .section-two .section-items{
        grid-template-columns: repeat(3, 1fr);
    }
    .section-two .section-item{
        text-align: left;
    }
    .section-two .section-item-icon img{
        margin-left: 0;
    }
}




/* resume page */
#about-sc{
    padding: 64px 0;
}

.cv-form-row-title{
    background-color: var(--clr-dark);
    padding: 0.8rem 1.6rem;
    margin-bottom: 2rem;
    border-radius: 5px;
}

.cv-form-row-title h3{
    color: var(--clr-white);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 1.7rem;

}


.cv-form-blk{
    margin: 3rem 0;
}
.cv-form-row{
    padding: 3rem 2rem 0 2rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 1rem;
    position: relative;
    border-radius: 5px;
}
textarea{
    resize: none;
    height: 120px;

}
.form-elem{
    margin-bottom: 3rem;
    position: relative;
     

}
.form-label{
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: var(--clr-dark);
    margin-bottom: 0.5rem;        

}
.form-control{
    border: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 14px;
    padding: 0.8rem 1.6rem;
    font-family: inherit;
    width: 100%;
    outline: 0;
    transition: var(--transition);
    border-radius: 5px;
}

.form-control:focus{
    border-color: rgba(0, 0, 0, 0.3);
}
.form-text{
    color: #ca0b00;
    font-size: 12px;
    position: absolute;
    letter-spacing: 0.5px;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
}
.cols-3, .cols-2{
    display: grid;
}
.repeater-add-btn{
    width: 25px;
    height: 25px;
    background-color: var(--clr-green);
    font-size: 1.6rem;
    color: var(--clr-white);
    margin: 1rem 0;
    border-radius: 0.5em;
}
.repeater-remove-btn{
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 999;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #ca0b00;
    color: var(--clr-white);
    font-size: 1.6rem;
}

/* preview section */
.preview-cnt{
    border-radius: 5px;
    display: grid;
padding: 3rem 3rem 3rem 3rem;
    overflow: hidden;
}

.shadowcontainer{
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.6rem;
    border-radius: 10px;
}

.preview-cnt-l{
    padding: 3rem 3rem 2rem 3rem;
}
.preview-cnt-r{
    padding: 3rem 3rem 3rem 4rem;
}
.preview-cnt-l .preview-blk:nth-child(1){
    text-align: center;
}
.preview-image{
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
}
.preview-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.preview-item-name{
    font-size: 2.4rem;
    font-weight: 600;
    margin: 1.8rem 0;
    position: relative;
}
.preview-item-name::after{
    position: absolute;
    content: "";
    bottom: -10px;
    width: 50px;
    height: 1.5px;
    background-color: rgba(255, 255, 255, 0.5);
    left: 50%;
    transform: translateX(-50%);
}
.preview-blk{
    padding: 1rem 0;
    margin-bottom: 1rem;

}

#fullname_dsp{
text-transform: uppercase;
}

.preview-blk-title h3{
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 0.5rem;
    font-weight: 900;
}
.preview-blk-title{
    margin-bottom: 1rem;
}
.preview-blk-list .preview-item{
    font-size: 1.5rem;
    margin-bottom: 0.2rem;
    opacity: 0.95;
}
.preview-cnt-r .preview-blk-title{
    color: var(--clr-dark);
}
.preview-cnt-r .preview-blk-list .preview-item{
    margin-top: 1.8rem;

}


.achievements-items.preview-blk-list .preview-item span:first-child,
.educations-items.preview-blk-list .preview-item span:first-child,
.experiences-items.preview-blk-list .preview-item span:first-child{
    display: block;
    font-weight: 800;
    margin-bottom: 1rem;
    font-size:18px;
    max-width: fit-content;
    color:  var(--clr-green);

  
}


.educations-items.preview-blk-list .preview-item span:nth-child(2),
.experiences-items.preview-blk-list .preview-item span:nth-child(2){
    font-weight: 600;
    margin-right: 1rem;
    font-size: 15px;
}

.educations-items.preview-blk-list .preview-item span:nth-child(3),
.experiences-items.preview-blk-list .preview-item span:nth-child(3){
    font-style: italic;
    margin-right: 1rem;
    margin-bottom: 5rem !important;



 
}
.educations-items.preview-blk-list .preview-item span:nth-child(3)::after {

    content: '\000A';  /* Agrega un salto de línea */
    white-space: pre;
}
.experiences-items.preview-blk-list .preview-item span:nth-child(3)::after {
    content: '\000A';  /* Agrega un salto de línea */
    white-space: pre;
  
  }




.educations-items.preview-blk-list .preview-item span:nth-child(4),
.educations-items.preview-blk-list .preview-item span:nth-child(5),
.experiences-items.preview-blk-list .preview-item span:nth-child(4),
.experiences-items.preview-blk-list .preview-item span:nth-child(5){

    color: var(--clr-light-grey);
    line-height: 2; /* Ajusta el valor según sea necesario */
}
.educations-items.preview-blk-list .preview-item span:nth-child(4)::after,
.experiences-items.preview-blk-list .preview-item span:nth-child(4)::after {
    content: " - ";  
}


.experiences-items.preview-blk-list .preview-item span:nth-child(6){
    margin-left: 10px;

    color:  var(--clr-light-grey);
    font-weight: 800;
}
.experiences-items.preview-blk-list .preview-item span:nth-child(6)::after{

    margin-right: 1rem;
}

.experiences-items.preview-blk-list .preview-item span:nth-child(7){
    margin-right: 1rem;
    margin-left: 1rem;

    color: var(--clr-grey);

    letter-spacing: 1px;
    display: inline-block;
}

.experiences-items.preview-blk-list .preview-item span:nth-child(7):empty {
    display: none;
}

.experiences-items.preview-blk-list .preview-item span:nth-child(8)::before{
 color: #a1a1a1;
content:'Contact details: ';
display: block;
margin-top: 1rem;



}
.experiences-items.preview-blk-list .preview-item span:nth-child(8), .experiences-items.preview-blk-list .preview-item span:nth-child(8),.experiences-items.preview-blk-list .preview-item span:nth-child(9),.experiences-items.preview-blk-list .preview-item span:nth-child(10),.experiences-items.preview-blk-list .preview-item span:nth-child(11)
{
    font-size: 13.5px;
    color: #a1a1a1;
    }
.experiences-items.preview-blk-list .preview-item span:nth-child(8)::after, .experiences-items.preview-blk-list .preview-item span:nth-child(8)::after,.experiences-items.preview-blk-list .preview-item span:nth-child(9)::after,.experiences-items.preview-blk-list .preview-item span:nth-child(10)::after
{
    
    content: ' | '; 
}



.experiences-items.preview-blk-list .preview-item span:nth-child(12){
    white-space: pre-line;
    display: block;
    color: var(--clr-light-grey);

}

.experiences-items.preview-blk-list .preview-item span:nth-child(12)::before{
font-weight: 700;
    white-space: pre;
    content:'\a Tasks: \a'; 
    color:  var(--clr-dark);


}
#activities_dsp{
    color: var(--clr-light-grey);
}


.educations-items.preview-blk-list .preview-item span:nth-child(6){
    display: block;
       margin-top: 1rem;
    font-size: 13.5px;
    color:#a1a1a1;
 
}

.languages-items.preview-blk-list .preview-item span:nth-child(1):after{
    content:' ';
}

.languages-items.preview-blk-list .preview-item span:nth-child(2){
    margin-right: 1rem;
    background-color: var(--clr-grey);
    color: var(--clr-white);
    padding: 0 1rem;
    border-radius: 0.6rem;
    text-transform: capitalize;

}

.skills-items{
    display: flex;
    flex-direction: column;
    gap:10px;
}
/* skils
.skills-items.preview-blk-list .preview-item span{
  
} */



@media screen and (min-width: 768px){
    .cols-3{
        grid-template-columns: repeat(3, 1fr);
        column-gap: 2rem;
    }
    .cols-2{
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
    }
}

@media screen and (min-width: 992px){
    .cv-form-row{
        padding: 3rem 3rem 0rem 3rem;
    }
    .cols-3{
        grid-template-columns: repeat(3, 1fr);
    }
}

.print-btn-sc{
border-top:solid #f3f3f3 2px;
padding: 2em;
    text-align: center;
}



/* Estilos para el botón Save CV cuando está deshabilitado */
.print-btn:disabled {
    background-color: #d3d3d3; 
    color: #a1a1a1;
    cursor: not-allowed;
    border-color: #d3d3d3;
}

/* print section */
@media print{
    body *{
        visibility: hidden;
    }

    .non_print_area{
        display: none;
    }

    .print_area, .print_area *{
        visibility: visible;
    }

    .print_area{
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        overflow: hidden;
        page-break-before: avoid;

    }
}



.header-first{
    display: flex;
    justify-content: flex-start;
    gap: 50px;
    max-width: 50%;
    }
    .header-main{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items:  flex-start;
    
    }

    .about-header{
        display: flex;
        justify-content: flex-start;
        gap: 50px;
        max-width: 50%;
        }

    .about-header:first-child{
        min-width: 300px;
    }

.about-first{
    display: flex;
    flex-direction: row;
    align-items:  flex-start;

}
footer{
    text-align:center;
    margin:20px;
    color: var(--clr-dark);
}

#modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
}

#modal-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
  text-align: left!important;
  max-height: 80%; 
  overflow-y: auto;
  max-width:1200px;
}


#gif {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    opacity: 0; /* Set initial opacity to 0 */
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.5s ease-in-out; /* Add transitions for opacity and visibility */
}
#gif.show {
    opacity: 1;
    visibility: visible;
}

#gif-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
  text-align: center;
  max-height: 80%; 
  overflow-y: auto;
  max-width:1200px;
  font-size:18px;
}

#gif img{
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 8px 28px;
    width: 640px;
}

@media only screen and (max-width: 600px) {
    #gif img{
       max-width: 100%;
    }
}
.preview-logo{
    width: 150px;

}

hr.solid {
    border-top: 1px solid #dcdcdc;
  }

  .break{
    word-break: break-all;
  }

  .iconName{
    width: 100%;
display: flex;
gap:5px;
align-items: flex-start;
  }

  .iconName img{
    width:16px;
  }

  .headings{
    text-align: center;
  }
  .headings span {
    background-color: var(--clr-grey);
        color: var(--clr-white);
    font-size: 3em;
    font-weight: 700;
    padding: 0px 20px 0px 20px;
    border-radius: 5px;
  }
  .headings p {
 margin-bottom: 1em;
  }




  .navbarultra {
    position: fixed;
    width: 50%;
    top: 0;
    display: none;
    transition: top 0.3s;
    z-index: 1000;
    margin: 20px auto;
    border: 1px solid #ccc;
    background-color: rgba(255, 255, 255, 0.7); /* Fondo semitransparente blanco */
    border-radius: 50px; /* Bordes redondeados */
    backdrop-filter: blur(10px); /* Efecto de desenfoque en el fondo */

  }

  
  .navbarultra a {
    float: left;
    display: block;
    color:  var(--clr-dark); /* Color del texto */
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    cursor: pointer;
    width: 50%;
    font-weight: 700;
    
  }
  
  .navbarultra a:hover {
    background-color: var(--clr-grey);
    color: var(--clr-white);
    backdrop-filter: blur(10px); /* Efecto de desenfoque en el fondo */
    border-radius: 50px; /* Bordes redondeados */

  }
  
  @media only screen and (max-width: 600px) {
    .navbarultra {
        width: 92%;
         }
         .navbarultra  a {
            padding: 2px;
             }
         
}

  .fullnav{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
 
  }



  .textcolor{
    color:var(--clr-dark);
  }
/*
  .print_area .container{

    background-image: url('/assets/images/background.png');
  background-repeat: no-repeat;
  }
  */

  .checkboxContainer{
        display: flex;
        align-items: flex-start;
        flex-direction: column;

  }


  .gif-button-container{

    display: flex;
    justify-content: flex-end;
  
  
  }

  .gif-button{
background-color: var(--clr-green);
color: var(--clr-white);
transition: var(--transition);
border: solid 3px;
border-color: var(--clr-green);
font-weight: 700;
border-radius: 50px;
padding: 1rem 3rem 1rem 3rem;

  }
  .gif-button:hover{
    background-color: transparent;
    color: var(--clr-green);
    border: solid 3px;
    border-color: var(--clr-green);
}

.terms-button-container{

    display: flex;
    justify-content: center;

}

.terms-button{
    background-color: var(--clr-dark);
    color: var(--clr-white);
    transition: var(--transition);
    border: solid 3px;
    border-color: var(--clr-dark);
    font-weight: 700;
    border-radius: 50px;
    padding: 1rem 3rem 1rem 3rem;
}
.terms-button:hover{
    background-color: transparent;
    color: var(--clr-dark);
    border: solid 3px;
    border-color: var(--clr-dark);
}

#loading-spinner {
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid var(--clr-green);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
    margin-bottom: 20px; /* Ajusta según sea necesario */
    display: none; /* Oculta inicialmente el spinner */
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.exp {
    display: none;
  }

/* Loading Overlay */
.loading-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.loading-overlay .text-light {
    color: white !important;
}

.loading-overlay .spinner-border {
    width: 3rem;
    height: 3rem;
}

/* Button Spinner */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
}

.preview-blk-list {
    width: 100%;
}

.preview-item {
    width: 100%;
}

.address-section {
    width: 100%;
    margin-bottom: 25px;

}

.address-section span {
    display: inline;
    word-wrap: break-word;
}

.info-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
}

.info-col {
    padding-right: 15px;
}

.info-col b {
    display: block;

}

.info-col span {
    display: block;
}
