:root{
    --factorBiggest: 1.4;
    --factorBig: 1.1;
    --factorNormal: 1;
    --factorTablet: .9;
    --factorCel: .65;
    --factorCelMini: .55 * 2 ;
    --factorCelMicro: .45 * 2;

    --text-hero-large:    3.7rem;
    --text-hero-mid:      1.8rem;
    --text-hero-small:    1.2rem;

    --text-header:          3.75rem;
    --text-section:         3rem;
    --text-subheader:       2.5rem;
    --text-larger:  2rem;
    --text-large:   1.5rem;
    --text-normal:  1rem;
    --text-small:   .95rem;
    --text-smaller: .8rem;

    --purple: #8338ec;
    --darkgrey: #222327;
    --aqua: #80ffdb;
    --aqua2: #C4E7E8;
    --grey: #d2e9ea;
    --grey2: #d2e9ea;
    --yellow2: #e7ff56;
    --lightgrey: #E2E2F5;
    --mujer: #e64ab7;
    --blue: #d2e9ea;
    --mujer2: rgb(253, 227, 231);


}

body {
    overflow-x: hidden;
    margin:0px;
    display: block;
    font-family: Open Sans, Roboto, Poppins, Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: black;
}

/* screen m p utils*/
.dyn-height-full {     height: 100vh; }
.dyn-height-third {     height: 20vh; }
.dyn-height-full-perc {     height: 100%; }

.dyn-margin-section         {   margin-top: 6rem;       margin-bottom: 6rem; }
.dyn-margin-section-bottom   {    margin-bottom: 6rem;      }
.dyn-padding-section        {   padding-top: 6rem;      padding-bottom: 6rem; }
.dyn-padding-section-top    {   padding-top: 6rem; }
.dyn-padding-section-mid    {   padding-top: 3rem; }

.dyn-padding-section-contact    {   padding-top: 3rem;      padding-bottom: 3rem; }

.dyn-border-radius          {   border-radius: 3.5rem;   }
.dyn-border-radius-small    {   border-radius: 1.0rem;   }

.dyn-border-radius-hero     {
    border-top-left-radius: 3.5rem;     border-top-right-radius: 3.5rem;
    border-bottom-left-radius: 3.5rem;     border-bottom-right-radius: 0rem;
}

/* screen m p utils*/


/*BG utils*/
.dyn-bg-purple {            background-color: var(--purple); }
.dyn-bg-darkgrey {          background-color: var(--darkgrey); }
.dyn-bg-aqua {              background-color: var(--aqua); }
.dyn-bg-grey {              background-color: var(--grey); }
.dyn-bg-grey2 {             background-color: var(--grey2); }
.dyn-bg-yellow2 {           background-color: var(--yellow2); }
.dyn-bg-lightgrey {         background-color: var(--lightgrey); }
.dyn-bg-black {             background-color: #222327; }
.dyn-bg-mujer {             background-color: var(--mujer); }

/*END BG utils*/



/* + + + + + + + + + + + + +     text utils     + + + + + + + + + + + + + */
.dyn-text-bold-light {      font-weight: 500;}
.dyn-text-bold {            font-weight: 700;}

.dyn-purple {             color: var(--purple); }
.dyn-darkgrey {           color: var(--darkgrey); }
.dyn-aqua {               color: var(--aqua); }
.dyn-grey {               color: var(--grey); }
.dyn-yellow2 {            color: var(--yellow2); }
.dyn-lightgrey {          color: var(--lightgrey); }

.dyn-text-hero-large {          line-height: 1;     }
.dyn-text-hero-mid   {          line-height: 1;     }
.dyn-text-hero-small {          line-height: 1;     }

.dyn-text-header {          line-height: 1;     }
.dyn-text-subheader {       line-height: 1;     }
.dyn-text-larger {          line-height: 1;     }
.dyn-text-large {           line-height: 1.2;     }

.nav-link {
    position: relative;
    font-weight: 500;
    color: var(--darkgrey) !important;  text-shadow: white .5px .3px;
    padding:2px;     border-radius: 0;
    transition: .3s;
}
.nav-link:hover{
    background-color: var(--purple);
    color: white !important;
    top:1px;
    text-decoration: none;
}


.dyn-link-contact {         line-height: 140%;  color:#ddf; text-decoration: none;}
.dyn-link-contact:hover {                       color:#ffffff }
.dyn-text-contact{
    font-weight: 400;       line-height: 1.1;   color:#ddd;
    margin-top: .5rem;
}
.dyn-text-errormsg {
    font-weight: 400;       line-height: .9;    color:#ff8855;
    margin-top: .5rem;
    text-transform: uppercase;
    font-size: small;
}

/* + + + + + + + + + + + + +     END text utils     + + + + + + + + + + + + + */


.dyn-navbar-bg{               background-color: rgba(200, 200, 200, .1);               }

/* hero */
.dyn-hero-logo-height{        height: 3.5rem;               }
.dyn-hero-bg-height{          height: 90%;               }
.dyn-hero-grey-height{          height: 10%;               }

.dyn-bg-hero{          
  background: linear-gradient(to left, rgba(255,255,255,0), rgba(255,255,255,0.8)),
  url(../imgs/hero04.jpg);
  background-repeat: no-repeat; background-position: center; background-size: cover;
}
.dyn-hero-text-valign{          vertical-align: bottom;               }


/* hero */


.dyn-logo{       position: relative;    }
.dyn-logo::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/logoJimenezAsesores.svg); 
  background-repeat: no-repeat;
  background-position: right bottom ; background-size: contain;
  top:0;  right:-5rem; width: 3rem; height: 4.5rem;
  opacity: 0;
  transition-duration: .7s;
}
.dyn-logo:hover::after {   
  opacity: 1;
  right:-5rem;
}

.dyn-logo2{       position: relative;    }
.dyn-logo2::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/logoJimenezAsesores.svg); 
  background-repeat: no-repeat;
  background-position: right bottom ; background-size: contain;
  bottom:-4rem;  right:7rem; width: 3rem; height: 4.5rem;
  opacity: 0;
  transition-duration: .7s;
}
.dyn-logo2:hover::after {   
  opacity: 1;
}

/*transit protege*/
.dyn-bg-protege {
  align-items: end;
  background-color: red;
  background: url(../imgs/msg_protege.png);
  background-size: auto 100%;
  background-repeat:no-repeat; background-position: center;
  height: 25rem; width: 25rem;
  margin: auto;
  position: relative; top:-5rem;
  border-radius: 50%; 
}
.dyn-msg-quarter{       position: relative;    }
.dyn-msg-quarter::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/circulo01.svg); 
  background-repeat: no-repeat;
  background-position: right bottom ; background-size: contain;
  top: 50%; left:50%; right: -1.3rem; bottom: -1.3rem;
}
/*transit protege*/


/* productos */
.dyn-fx-prods{        transition-duration: .5s;       }
.dyn-prods-topspace {        transition-duration: .5s;   height:3rem;    }
.dyn-prods-icon{      transition: all .5s;        position: relative; top: 1rem;}
.dyn-prods-title{     transition-duration: .5s;   position: relative; top: 2rem; height: 4rem;}
.dyn-prods-desc{      transition-duration: .5s;   position: relative; top: 3rem; height: 4rem; }
.dyn-prods-dots{      transition-duration: .5s;   position: relative; top: 6rem; }
.dyn-prods-info{      transition-duration: .5s;   opacity: .0; z-index: -1; }
.dyn-fx-prods:hover  {        
  abackground-color: #6318bc;  
}

.dyn-fx-prods:hover > .dyn-prods-icon {
  transform: translateY(-1rem);
}
.dyn-fx-prods:hover > .dyn-prods-title {
  font-size:calc( var(--text-larger) * .9);  
  transform: translateY(-2.5rem);
}
.dyn-fx-prods:hover > .dyn-prods-desc {
  transform: translateY(-3.5rem);
}
.dyn-fx-prods:hover > .dyn-prods-dots {
  transform: translateX(30%); ;
}
.dyn-fx-prods:hover > .dyn-prods-info {
  opacity: 1;
  transform: translateY(-3rem);  
}

.dyn-prods-btn {
  color: white; border-radius: 50%; border: 2px solid white;  
}
.dyn-prods-btn:hover {
  color: black;
  border-radius: 50%; border: 2px solid white;  
  background-color: white;
  text-decoration: none;
}
.dyn-prods-btn-black {
  color: black; border-radius: 50%; border: 2px solid black;  
}
.dyn-prods-btn-black:hover {
  color: white;
  border-radius: 50%; border: 2px solid black;  
  background-color: black;
  text-decoration: none;
}

.dyn-btn-white {
  color: black; 
  border-radius: .5rem ; 
  text-decoration: none; 
  align-content: center; 
  border: 2px solid #8338ec;
  border-radius: .5rem;
  transition: .3s all;
}
.dyn-btn-white:hover {
  color: white; 
  background-color: #8338ec; 
  text-decoration: none; 
  align-content: center; 
  border: 2px solid #8338ec;
}
/* productos */


/* transit experto*/
.dyn-bg-experto {
  background: url(../imgs/msg_asesor.jpg);
  background-size: auto 100%;
  background-repeat:no-repeat; background-position: center;
  height: 25rem; width: 25rem;
  position: relative; top:-5rem;
  border-radius: 50%;
}
.dyn-msg-quarter2{       position: relative;    }
.dyn-msg-quarter2::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/circulo02.svg); 
  background-repeat: no-repeat;
  background-position: left top; background-size: contain;
  top: -1.3rem; left:-1.3rem; right:50%; bottom:50%;
  z-index: 10000;
}
/* transit experto*/

.dyn-we-bg-left{       position: relative;    }
.dyn-we-bg-left::before{       
  position: absolute;    
  content:"";
  background-color: var(--purple);
  left:-12%; right:0rem; top:0rem; bottom:0rem;
  border-bottom-right-radius: 3rem;
  z-index: -1000;
}


/* forma de trabajo*/
.dyn-proc-number-1{       position: relative;    }
.dyn-proc-number-1::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/icons/1.svg);
  top: -3rem; left:20%; margin-left: -3rem;
  width: 6rem; height:6rem; 
}

.dyn-proc-number-2{       position: relative;    }
.dyn-proc-number-2::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/icons/2.svg); 
  background-position: center ; background-size: cover;
  top: -3rem; left:20%; margin-left: -3rem;
  width: 6rem; height:6rem; 
}

.dyn-proc-number-3{       position: relative;    }
.dyn-proc-number-3::after {   
  position: absolute;
  content:""; 
  background: url(../imgs/icons/3.svg); 
  background-position: center ; background-size: cover;
  top: -3rem; left:20%; margin-left: -3rem;
  width: 6rem; height:6rem; 
}
/* forma de trabajo*/


/* Contacto */
.dyn-btn-contact {
  background-color: var(--aqua);
  color: black;
  border: 2px solid var(--purple);
  border-radius: .5rem;
  transition: .3s all;
}
.dyn-btn-contact:hover {
  background-color: var(--aqua);
  color: black;
}
.dyn-btn-contact-purple {
  background-color: var(--purple);
  color: white;
  border: 2px solid var(--purple);
  border-radius: .5rem;
  transition: .3s all;
}
.dyn-btn-contact-purple:hover {
  border: 2px solid var(--purple);
  background-color: white;
  color: var(--purple);
  text-decoration: none;
}


a  {  text-decoration: none;   color: inherit; }
a:hover {  text-decoration: underline;   color: inherit; }

input {  
  border-bottom-right-radius: 7px;
  height: 2rem; width: 100%; border: none; 
}
textarea {  
  border-bottom-right-radius: 7px; 
  width: 100%; border: none;
}


.dyn-tag-size-small { height: calc( 2.5rem  );   }
/* Contacto */


/* floating whatsapp*/
.dyn-wa{
  z-index: 99999999;
  position:fixed;
  bottom:20px; 
  right:20px; 
}
/* floating whatsapp*/



/* + + + + + + + + + + + + +     FXs     + + + + + + + + + + + + + */

.dyn-fx-move-right {   transition: transform .9s ease-in-out;   }
.dyn-fx-move-right:hover {  transform: translateX( 2rem) ;   }

.dyn-fx-move-right-little {   transition: transform .5s ease-in-out;   }
.dyn-fx-move-right-little:hover {  transform: translateX( .75rem) ;   }

.dyn-fx-move-up {   transition: transform .5s ease-in-out;   }
.dyn-fx-move-up:hover {  transform: translateY( -.5rem) ;   }

.dyn-fx-zoomin {   transition: transform .5s ease-in-out;   }
.dyn-fx-zoomin:hover {  transform: scale(1.02) ;   }

.dyn-fx-zoomin-little {   transition: transform .9s ease-in-out;   }
.dyn-fx-zoomin-little:hover {  transform: scale(1.02) ;   }

.dyn-fx-darken {   transition: all .5s ease-in-out;    }
.dyn-fx-darken:hover {  background: #111; color: white;  }

.dyn-fx-yellow {   transition: all .5s ease-in-out;    }
.dyn-fx-yellow:hover {  background: var(--orange);   }

/* + + + + + + + + + + + + +     FXs     + + + + + + + + + + + + + */



/* + + + + + + + + + + + + +     MediaQueries utils     + + + + + + + + + + + + + */

    .dyn-text-hero-large  {     font-size: calc( var(--text-hero-large) * var(--factorNormal) ); }
    .dyn-text-hero-mid  {       font-size: calc( var(--text-hero-mid) * var(--factorNormal) ); }
    .dyn-text-hero-small  {     font-size: calc( var(--text-hero-small) * var(--factorNormal) ); }

    .dyn-text-header {          font-size: calc( var(--text-header) * var(--factorNormal) ); }
    .dyn-text-subheader {       font-size: calc( var(--text-subheader) * var(--factorNormal) ); }
    .dyn-text-larger {          font-size: calc( var(--text-larger) * var(--factorNormal) ); }
    .dyn-text-large {           font-size: calc( var(--text-large) * var(--factorNormal) ); }
    .dyn-text-normal {          font-size: calc( var(--text-normal) * var(--factorNormal) ); }
    .dyn-text-small {           font-size: calc( var(--text-small) * var(--factorNormal) ); }
    .dyn-text-smaller {         font-size: calc( var(--text-smaller) * var(--factorNormal) ); }

    .dyn-wa{                    width:65;   height:65;      }
    .dyn-wa-icon{               height:50px;    }

    .dyn-insco-icon1{       height: 1.1rem;      }
    .dyn-insco-icon2{       height: 2.7rem;      }
    .dyn-insco-icon3{       height: 3.4rem;      }
    .dyn-insco-icon4{       height: 1.8rem;      }
@media screen and (min-width: 993px) and (max-width: 1240px) { 
  .dyn-bg-protege {               height: 21rem; width: 21rem;        }
  .dyn-msg-quarter::after {       right: -1rem; bottom: -1rem;      }
  .dyn-bg-experto {
    height: 21rem; width: 21rem;
    top:-3rem;
  }
  .dyn-msg-quarter2::after {       top: -.8rem; left: -.8rem;      }

}
@media screen and (min-width: 767px) and (max-width: 992px) { 
  .dyn-text-hero-large  {     font-size: calc( var(--text-hero-large) * var(--factorTablet)  ); }
  .dyn-text-hero-mid  {       font-size: calc( var(--text-hero-mid) * var(--factorTablet)  ); }
  .dyn-text-hero-small  {     font-size: calc( var(--text-hero-small) * var(--factorTablet)  ); }

  .dyn-text-header {          font-size: calc( var(--text-header) * var(--factorTablet)  ); }
  .dyn-text-subheader {       font-size: calc( var(--text-subheader) * var(--factorTablet)   ); }
  .dyn-text-larger {          font-size: calc( var(--text-larger) * var(--factorTablet) ); }
  .dyn-text-large {           font-size: calc( var(--text-large) * var(--factorTablet)  ); }
  .dyn-text-normal {          font-size: calc( var(--text-normal) * var(--factorTablet) ); }
  .dyn-text-small {           font-size: calc( var(--text-small) * var(--factorTablet) ); }
  .dyn-text-smaller {         font-size: calc( var(--text-smaller) * var(--factorTablet) ); }

  .dyn-wa{                    width:65;   height:65;      }
  .dyn-wa-icon{               height:50px;    }

  .dyn-navbar-bg{                 background: rgba(111, 56, 236, .4);   }
  .dyn-hero-bg-height{            height: 50%;               }
  .dyn-hero-mobile-half{          height: 50vh;               }
  .dyn-hero-grey-height{          height: 50%;               }
  .dyn-hero-logo-height{          height: 2.5rem;               }
  .dyn-bg-hero{          
    background: url(../imgs/hero04.jpg);
    background-repeat: no-repeat; background-position: center; background-size: cover;
  }
  .dyn-hero-text-valign{          vertical-align: top;               }

  .dyn-logo::after {               right:0;  opacity: 0;         }

  .dyn-bg-protege {               height: 15rem; width: 15rem;        }
  .dyn-msg-quarter::after {       right: -.8rem; bottom: -.8rem;      }
  .dyn-bg-experto {
    height: 15rem; width: 15rem;
    top:-3rem;
  }
  .dyn-msg-quarter2::after {       top: -.8rem; left: -.8rem;      }
}
@media screen and (min-width: 577px) and (max-width: 767px) {
  .dyn-text-hero-large  {     font-size: calc( var(--text-hero-large) * var(--factorCel)  ); }
  .dyn-text-hero-mid  {       font-size: calc( var(--text-hero-mid) * var(--factorCel)  ); }
  .dyn-text-hero-small  {     font-size: calc( var(--text-hero-small) * var(--factorCel)  ); }

  .dyn-text-header {          font-size: calc( var(--text-header) * var(--factorCel)  ); }
  .dyn-text-subheader {       font-size: calc( var(--text-subheader) * var(--factorCel)   ); }
  .dyn-text-larger {          font-size: calc( var(--text-larger) * var(--factorCel) ); }
  .dyn-text-large {           font-size: calc( var(--text-large) * var(--factorCel)  ); }
  .dyn-text-normal {          font-size: calc( var(--text-normal) * var(--factorCel) ); }
  .dyn-text-small {           font-size: calc( var(--text-small) * var(--factorCel) ); }
  .dyn-text-smaller {         font-size: calc( var(--text-smaller) * var(--factorCel) ); }

  .dyn-wa{                    width:65;   height:65;      }
  .dyn-wa-icon{               height:50px;    }

  .dyn-navbar-bg{                 background: rgba(111, 56, 236, .4);   }
  .dyn-hero-bg-height{            height: 50%;               }
  .dyn-hero-mobile-half{          height: 50vh;               }
  .dyn-hero-grey-height{          height: 50%;               }
  .dyn-hero-logo-height{          height: 2.5rem;               }
  .dyn-bg-hero{          
    background: url(../imgs/hero04.jpg);
    background-repeat: no-repeat; background-position: center; background-size: cover;
  }
  .dyn-hero-text-valign{          vertical-align: top;               }

  .dyn-logo::after {               right:0;  opacity: 0;         }

  .dyn-bg-protege {               height: 15rem; width: 15rem;        }
  .dyn-msg-quarter::after {       right: -.8rem; bottom: -.8rem;      }
  .dyn-bg-experto {
    height: 15rem; width: 15rem;
    top:-3rem;
  }
  .dyn-msg-quarter2::after {       top: -.8rem; left: -.8rem;      }
}  
@media screen and (min-width: 425px) and (max-width: 576px) {
  .dyn-text-hero-large  {     font-size: calc( var(--text-hero-large) * var(--factorCelMini) * .6 ); }
  .dyn-text-hero-mid  {       font-size: calc( var(--text-hero-mid) * var(--factorCelMini) * .7 ); }
  .dyn-text-hero-small  {     font-size: calc( var(--text-hero-small) * var(--factorCelMini) * .8 ); }

  .dyn-text-header {          font-size: calc( var(--text-header) * var(--factorCelMini)  * .8); }
  .dyn-text-subheader {       font-size: calc( var(--text-subheader) * var(--factorCelMini)  * .8 ); }
  .dyn-text-larger {          font-size: calc( var(--text-larger) * var(--factorCelMini) ); }
  .dyn-text-large {           font-size: calc( var(--text-large) * var(--factorCelMini) * .8 ); }
  .dyn-text-normal {          font-size: calc( var(--text-normal) * var(--factorCelMini) ); }
  .dyn-text-small {           font-size: calc( var(--text-small) * var(--factorCelMini) ); }
  .dyn-text-smaller {         font-size: calc( var(--text-smaller) * var(--factorCelMini) ); }

  .dyn-wa{                    width:65;   height:65;      }
  .dyn-wa-icon{               height:50px;    }

  .dyn-navbar-bg{                 background: rgba(111, 56, 236, .4);   }
  .dyn-hero-bg-height{            height: 50%;               }
  .dyn-hero-mobile-half{          height: 50vh;               }
  .dyn-hero-grey-height{          height: 50%;               }
  .dyn-hero-logo-height{          height: 2.5rem;               }
  .dyn-bg-hero{          
    background: url(../imgs/hero04.jpg);
    background-repeat: no-repeat; background-position: center; background-size: cover;
  }
  .dyn-hero-text-valign{          vertical-align: top;               }

  .dyn-logo::after {               right:0;  opacity: 0;         }

  .dyn-bg-protege {               height: 15rem !important; width: 15rem !important;        }
  .dyn-msg-quarter::after {       right: -.8rem; bottom: -.8rem;      }
  .dyn-bg-experto {
    height: 15rem; width: 15rem;
    top:-3rem;
  }
  .dyn-msg-quarter2::after {       top: -.8rem; left: -.8rem;      }

}

@media screen and (max-width: 424px) {
  .dyn-text-hero-large  {     font-size: calc( var(--text-hero-large) * var(--factorCelMicro) * .6 ); }
  .dyn-text-hero-mid  {       font-size: calc( var(--text-hero-mid) * var(--factorCelMicro) * .7 ); }
  .dyn-text-hero-small  {     font-size: calc( var(--text-hero-small) * var(--factorCelMicro) * .8 ); }

  .dyn-text-header {          font-size: calc( var(--text-header) * var(--factorCelMicro)  * .8); }
  .dyn-text-subheader {       font-size: calc( var(--text-subheader) * var(--factorCelMicro)  * .8 ); }
  .dyn-text-larger {          font-size: calc( var(--text-larger) * var(--factorCelMicro) ); }
  .dyn-text-large {           font-size: calc( var(--text-large) * var(--factorCelMicro) * .8 ); }
  .dyn-text-normal {          font-size: calc( var(--text-normal) * var(--factorCelMicro) ); }
  .dyn-text-small {           font-size: calc( var(--text-small) * var(--factorCelMicro) ); }
  .dyn-text-smaller {         font-size: calc( var(--text-smaller) * var(--factorCelMicro) ); }

  .dyn-wa{                    width:65;   height:65;      }
  .dyn-wa-icon{               height:50px;    }

  .dyn-navbar-bg{                 background: rgba(111, 56, 236, .4);    }
  .dyn-hero-bg-height{            height: 50%;               }
  .dyn-hero-mobile-half{          height: 50vh;               }
  .dyn-hero-grey-height{          height: 50%;               }
  .dyn-hero-logo-height{          height: 2.5rem;               }
  .dyn-bg-hero{          
    background: url(../imgs/hero04.jpg);
    background-repeat: no-repeat; background-position: center; background-size: cover;
  }
  .dyn-hero-text-valign{          vertical-align: top;               }

  .dyn-logo::after {               right:0;  opacity: 0;         }

  .dyn-bg-protege {               height: 15rem; width: 15rem;        }
  .dyn-msg-quarter::after {       right: -.8rem; bottom: -.8rem;      }
  .dyn-bg-experto {
    height: 15rem; width: 15rem;
    top:-3rem;
  }
  .dyn-msg-quarter2::after {       top: -.8rem; left: -.8rem;      }

  .dyn-insco-icon1{       height:  .8rem;      }
  .dyn-insco-icon2{       height: 2.5rem;      }
  .dyn-insco-icon3{       height: 2.5rem;      }
  .dyn-insco-icon4{       height: 1.5rem;      }

  .dyn-we-bg-left::before{ left:0; }

}

/* + + + + + + + + + + + + +     END MediaQueries utils     + + + + + + + + + + + + + */

