
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');


:root {  
  /* VV_Basic_Tokens*/
  --spacing-xs: 4px;
  --spacing-s: 8px;
  --spacing-m: 16px;
  --spacing-l: 24px;
  --spacing-xl: 32px;
  --spacing-xxl: 48px;
  --spacing-3xl: 64px;
  --spacing-4xl: 80px;
  --spacing-5xl: 96px;
  --spacing-6xl: 112px;
  --radius-xs: 2px;
  --radius-s: 4px;
  --radius-m: 8px;
  --radius-l: 12px;
  --radius-xl: 16px;
  --radius-xxl: 24px;
  --radius-3xl: 48px;
  --radius-full: 100px;
  /* Paint style variables*/
  --vv-black: #1a1a1a;
  --vv-white: #ffffff;
  --vv-primary: #c20e1a;
  --vv-primary-soft: #f93b4b;
  --vv-primary-light: #fb848e;
  --vv-grey-600: #4d4d4d;
  --vv-grey-300: #bfbfbf;
  --vv-grey-200: #e9e9e9;
  --vv-grey-50: #fafafa;
  --vv-state-error: #e91628;
  --vv-state-alert: #f3ba29;
  --vv-state-success: #1c9d52;
  --vv-state-info: #47b3de;
  /* Effect style variables*/
  --elevation-m-0: 0px 4px 8px 0px #0000001a;
  --elevation-l-0: 0px 4px 24px 0px #00000026;
  /* Text style variables*/
  --h1-font-size: 54px;
  --h1-font-family: "Poppins";
  --h1-font-weight: normal;
  --h1-line-height: 60px;
  --h2-font-size: 54px;
  --h2-font-family: "Poppins";
  --h2-font-weight: normal;
  --h2-line-height: 60px;
  --h3-font-size: 36px;
  --h3-font-family: "Poppins";
  --h3-font-weight: normal;
  --h3-line-height: 42px;
  --h4-font-size: 28px;
  --h4-font-family: "Poppins";
  --h4-font-weight: normal;
  --h4-line-height: 42px;
  --body-font-size: 20px;
  --body-font-family: "Poppins";
  --body-font-weight: normal;
  --body-line-height: 30px;
  --bodybold-font-size: 20px;
  --bodybold-font-family: "Poppins";
  --bodybold-font-weight: normal;
  --bodybold-line-height: 30px;
  --small-font-size: 16px;
  --small-font-family: "Poppins";
  --small-font-weight: normal;
  --small-line-height: 26px;
  --smallbold-font-size: 16px;
  --smallbold-font-family: "Poppins";
  --smallbold-font-weight: normal;
  --smallbold-line-height: 26px;
  --link-font-size: 20px;
  --link-font-family: "Poppins";
  --link-font-weight: normal;
  --link-line-height: 32px;
  --button-font-size: 14px;
  --button-font-family: "Poppins";
  --button-font-weight: normal;
  --button-line-height: 1;
  --note-font-size: 12px;
  --note-font-family: "Poppins";
  --note-font-weight: normal;
  --note-line-height: 1;
  /* Grid style variables*/
  --desktop_grid-0-pattern: columns;
  --desktop_grid-0-gutter-size: 48px;
  --desktop_grid-0-count: 8;
  --desktop_grid-0-alignment: stretch;
  --desktop_grid-0-section-size: auto;
}

html, body {
    float:left;
    position: relative;
    width:100% !important;
    height: 100%;
    background-color: #ffffff;
    margin:0;
    padding: 0;
    
    color: #1a1a1a;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 23px;
    

    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;

    scroll-behavior: smooth;
}

header {
    float: left;
    /*position: fixed;*/
    position: relative;
    width: 100%;
    /*width: calc(100% - 10px);*/
    background-color: #fff;
    /*height: 75px;*/
    clear: both;
    display: block;
    z-index: 5;

    padding: 15px 0;
}


@media (max-width: 575px) {
  
  body:not([class^="dashboard"]) header .secondary-icon {
   padding: 11px !important;
  }

  body:not([class^="dashboard"]) header .secondary-icon span {
   display: none;
  }

}

#header_logo {
    max-width: 200px;
    height: auto;
}

main {
    float: left;
    position: relative;
    width: 100%;
    clear: both;
    display: block;
    /*margin-top: 75px;*/
    background: #fff;
}


  /* RESET BOOTSTRAP
  -------------------------------------------------- 
  */

.btn {
  box-shadow: unset !important;
  border-color: transparent !important;
}


  /* ICONS bootstrap
  -------------------------------------------------- 
  */


.modal i.bi, body:not(.dashboard-body) main i.bi:not(.passw_eye,.bi-caret-down-fill) {
  width: 48px;
  height: 48px;
  line-height: 48px;
  font-size: 48px;
  float: none;
  position: relative;
  display: flex;
  border-radius: 48px;
  background: #111;    
  margin: 32px auto 24px;
}

.modal i.bi-exclamation, body:not(.dashboard-body) main i.bi-exclamation {
  outline: 24px solid var(--VV-State-Alert, #F3BA29);
  color: var(--VV-State-Alert, #F3BA29);
  background-color: #fff;
}

.modal i.bi-check, body:not(.dashboard-body) main i.bi-check {
  outline: 24px solid var(--VV-State-Success, #1C9D52);
  color: var(--VV-State-Success, #1C9D52);
  background-color: #fff;

}

.modal i.bi-x, body:not(.dashboard-body) main i.bi-x {
  outline: 24px solid var(--VV-State-Error, #E91628);
  color: var(--VV-State-Error, #E91628);
  background-color: #fff;

}

.modal i.bi-info, body:not(.dashboard-body) main i.bi-info {
  outline: 24px solid var(--VV-State-Info, #47B3DE);
  color: var(--VV-State-Info, #47B3DE);
  background-color: #fff;
}


  /* BANNER HOME
  -------------------------------------------------- 
  */


#banner_home {
  /*background: transparent url('../img/signup-portada.png') top left no-repeat;*/
  background: transparent url('../img/home_banner/home-banner-slide-1.jpg') top left no-repeat;
  /*background-size: contain;*/
  background-size: cover;
  border-radius:20px;
  padding: 48px;

  min-height: 600px;
}

#banner_home h1 {
  float: left;
  position: relative;

  max-width: 80%;
  color: var(--VV-White, #FFF);
  align-self: stretch;

  /* H2 */
  font-family: Poppins;
  font-size: 54px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px; /* 111.111% */

  padding: 0;
  margin-bottom: 24px;
}

#banner_home h4 {
  float: left;
  position: relative;

  max-width: 80%;
  color: var(--VV-White, #FFF);

  /* Small */
  font-family: Poppins;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 162.5% */

  padding: 0;
}



@media (max-width: 991px) {

  #banner_home {
    display: none;
  }

}

  /* CONTENT HOME (lado derecho)
  -------------------------------------------------- 
  */

#content_home {
  padding-left: 30px;
  /*padding-right: 30px;*/
  padding-right: 0px;
}


#content_home #content_home_slogan {
  display: none;
  max-width: 452px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 64px;
  margin-bottom: 32px;
}


#content_home #content_home_slogan  h1 {
  margin-bottom: 24px;

  font-family: Poppins;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 42px; /* 116.667% */
}



#content_home #content_home_slogan  h4 {
  margin-bottom: 0;

  /* Small */
  font-family: Poppins;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 162.5% */
}


@media (max-width: 991px) {

  #content_home {
    padding-left: 10px;
    padding-right: 10px;
  }

  #content_home #content_home_slogan {
    display: block;
  }

}


body.login #content_home .form-wrapper, 
body.signup #content_home .form-wrapper, 
body.signup2 #content_home .form-wrapper, 
body.signup3 #content_home .form-wrapper,
body.signup-google .form-wrapper, 
body.signupverify .form-wrapper, 
body.signup-google-existing .form-wrapper {
   margin-top: 32px;
   margin-bottom: 32px;
}

@media (max-width: 991px) {

  body.signup #content_home .form-wrapper, 
  body.login #content_home .form-wrapper {
     margin-bottom: 64px;
  }

  body.signup2 #content_home .form-wrapper,
  body.signup3 #content_home .form-wrapper,
  body.signup-google .form-wrapper, 
  body.signupverify .form-wrapper, 
  body.signup-google-existing .form-wrapper {
    margin-top: 64px;
    margin-bottom: 64px;
  }

}


  /* GENERAL
  -------------------------------------------------- 
  */



  /* MODAL
  -------------------------------------------------- 
  */

.modal.show .modal-dialog {
    /*margin-top: 13%;*/
    margin-top: 8%;
}

.modal-content {
  border-radius: 12px !important;
}

.modal h2 {
  color: var(--VV-Black, #1A1A1A);
  text-align: center;

  /* H3 */
  font-family: Poppins;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 42px; /* 116.667% */

  margin-bottom: 24px;

}


@media (max-width: 575px) {

  .modal.show .modal-dialog {
    width: 100%;
    float: left;
    position: relative;
    margin: 0;
    border: 0;
    border-radius: 0;
    height: 100%;
    min-height: 100vh;
  }

  .modal.show .modal-dialog .modal-content {
    border-radius: 0 !important;
    height: 100%;
    min-height: 100vh;
  }

  .modal.show .modal-dialog .modal-content h2 {
    /* BodyBold */
    font-family: Poppins;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 150% */
  }

  .modal.show .modal-dialog div.row:last-child {
    position: fixed;
    bottom: 21px;
    width: calc(100vw - 28px);
  }


}



  /* HEADER
  -------------------------------------------------- 
  */

#header_arrow {
  cursor:pointer;
}

@media (max-width: 991px) {

  #header_arrow {
    margin-right: 6px !important;
  }

  .navbar {
    padding-top: 0;
    padding-bottom: 0;
  }

}


  /* FORMS
  -------------------------------------------------- 
  */

.form-wrapper {
  display: flex;
  
  max-width: 452px;
  width: 100%;

  padding: var(--Radius-XXL, 24px) var(--Spacing-L, 24px);
  flex-direction: column;
  justify-content: center;
  /*align-items: center;*/
  gap: 24px;

  border-radius: var(--Spacing-M, 16px);
  border: 2px solid var(--VV-Grey-200, #E9E9E9);
  background: var(--VV-White, #FFF);

  margin-left:auto;
  margin-right: auto;
}

.form-wrapper h1 {
  color: var(--VV-Black, #1A1A1A);

  /* BodyBold */
  font-family: Poppins;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px; /* 150% */
}

.form-wrapper h1 span {
  color: var(--VV-Black, #1A1A1A);

/* Body */
font-family: Poppins;
font-size: 20px !important;
font-style: normal;
font-weight: 400;
line-height: 30px; /* 150% */
}


.password .form-wrapper, .password2 .form-wrapper, .password3 .form-wrapper, 
.password4ok .form-wrapper, .password4ko .form-wrapper, .signup4ko .form-wrapper {
  margin: 80px auto;
}

@media (max-width: 991px) {
  .password .form-wrapper, .password2 .form-wrapper, .password3 .form-wrapper, 
  .password4ok .form-wrapper, .password4ko .form-wrapper, .signup4ko .form-wrapper, .signup4ok .form-wrapper {
    margin: 64px auto;
  }

}

/* Input Escuela con lupa */
.form-floating i.bi#input_search_escuela {
    position: absolute !important;
    left: 14px !important;
    top: 18px !important;
    margin: 0;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 18px;
    background-color: transparent;
    color:var(--VV-Grey-300, #BFBFBF);
}

#input_search_escuela:has(+ #escuela_input:hover), 
#input_search_escuela:has(+ #escuela_input:focus),
#input_search_escuela:has(+ #escuela_input:active) {
  color: var(--vv-black) !important;
}

#input_search_escuela:has(+ #escuela_input:disabled) {
  color:var(--VV-Grey-300, #BFBFBF) !important;
}

.form-floating #escuela_input  {
  padding-left: 42px !important;
}
.form-floating > label[for="floatingInputEscuela"] {
  padding-left: 45px !important;
}



/* Inputs Passwords con ojo */
.form-floating i.bi.passw_eye {
  position: absolute !important;
  cursor: pointer !important;
  right: 15px !important;
  top: 17px !important;
}

.form-floating i.bi.bi-caret-down-fill {
  position: absolute !important;
  cursor: pointer !important;
  right: 15px !important;
  /*top: 16px !important;*/
  top: 19px !important;
  z-index: 1 !important;
}

/* corrección flechas */
.form-floating > .form-select {
    z-index: 2 !important;
    position: relative !important;
    background-color: transparent !important;
}

/*.form-floating > .form-select option:checked { font-size: 0.8rem; }*/

.form-floating > label {
  z-index: 2;
}

.form-floating select + i.bi.bi-caret-down-fill {
  color: var(--VV-Grey-600, #4d4d4d) !important;
}

.form-floating select:hover + i.bi.bi-caret-down-fill, .form-floating i.bi.bi-caret-down-fill:hover {
  color: var(--VV-Black, #1A1A1A) !important
}

.form-floating select:disabled + i.bi.bi-caret-down-fill {
  color: var(--vv-grey-300) !important;
}

.form-floating select:disabled {
  background-color: #fff !important;
}

.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: bold; /*color: #d60612;*/ }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }



 /* FRONTEND - LOGIN
  -------------------------------------------------- 
  */

.login #header_arrow {
  display: none;
}

.login p {
  margin:0;
}

.login a {
  color: var(--VV-Primary, #C20E1A);
}

.login a.registrarse {
  color: var(--VV-Primary-Soft, #F93B4B);
}

.login a:hover{
  color:var(--vv-grey-600);
}



 /* FRONTEND - SIGNUP
  -------------------------------------------------- 
  */

.form-text:not(.error) a {
  color: var(--bs-secondary-color);
}

.form-text a:hover {
  text-decoration: none;
}

.form-text.error a {
  color: var(--VV-State-Error, #E91628) !important;
}

.signup p {
  margin:0;
}

.signup a {
  color: var(--VV-Primary, #C20E1A);
}

.signup a.acceder {
  color: var(--VV-Primary-Soft, #F93B4B);
}

.signup a:hover{
  color:var(--vv-grey-600);
}

.password4ko p {
  signup4ko:0;
}

.signup4ko a {
   color: var(--VV-Black, #1A1A1A);
}

.signup4ko a:hover{
  color:var(--vv-grey-600);
}


#signup_steps {

}

#signup_steps > div.col > div {
/*#signup_steps .signup_step {*/
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background-color: var(--VV-Grey-300, #BFBFBF);
  color: var(--VV-White, #FFF);
  text-align: center;
  font-family: Poppins;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  border-radius: 48px;
  text-align: center;
  margin: -10px auto 5px auto;
}

#signup_steps > div.col.current_step > div {
/*#signup_steps .current_step .signup_step {*/
  background-color: var(--VV-Primary, #C20E1A);
}

#signup_steps > div.col.signup_check > div {
/*#signup_steps .signup_check .signup_step {*/
  background-color: var(--VV-State-Success, #1C9D52);
}

#signup_steps > div.col.signup_check > div > div {
    font-size: 40px;
    line-height: 65px;
}

#signup_steps .signup_line {
    width: 10px;
    padding: 0;
}

#signup_steps .signup_line svg {
     width: 48px;
}



 /* FRONTEND - PASSWORD
  -------------------------------------------------- 
  */


.password4ko p {
  margin:0;
}

.password4ko a {
  color: var(--VV-Black, #1A1A1A);
}

.password4ko a:hover{
  color:var(--vv-grey-600);
}



  /* FOOTER
  -------------------------------------------------- 
  */



  footer {
    float:left;
    position: relative;
    width:100%;
    background-color: rgb(40, 40, 40);
    color: #fff;
  }

  footer #footer_logo {
    max-width: 180px;
    height: auto;
  } 

  footer .border-top {
    border-top: 1px solid #ccc !important;
  }

  footer .link-secondary {
    color: #fff !important;
    text-decoration: none;
    font-weight: 300;
    margin-bottom: 15px;
  }

  footer .link-secondary:focus, 
  footer .link-secondary:hover ,
  footer .link-secondary.active {
    text-decoration: underline !important;
  }

  /* selector idiomas */
  #selector_idiomas_wrapper {
    float: right;
    position: relative;
    margin-top: -10px;
  }

  #selector_idiomas_wrapper > i {
    position: absolute;
    right: 13px;
    top: 5px;
  }

  footer select.link-secondary {
    padding: 10px 15px !important;
    padding-right: 30px !important;
    margin: 0 auto !important;
    margin-top: -10px !important;

    background: unset !important;
    border: 1px solid #fff !important;
    border-radius: 25px !important;
    outline: 0 !important;
    height: auto !important;
    cursor: pointer;
    box-shadow: unset !important;
    text-decoration: none !important;

    -moz-appearance:none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
    appearance:none;
  }

  @media (max-width: 575px) {

    #selector_idiomas_wrapper {
        float: none;
        position: relative;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }

    footer select.link-secondary {
      margin-top: 0px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    #selector_idiomas_wrapper > i {
      top: 14px;
    }

  }


  footer select.link-secondary:focus, footer select.link-secondary:hover {
      color: #565e64 !important;
      text-decoration: none !important;
  }

  footer a img {
    opacity: 1 !important;
  }

  footer a img:hover {
    opacity: 0.75 !important;
  }

  footer #footer_sublogo1 {
    max-width: 200px;
    height: auto;
  }

  footer #footer_sublogo2 {
    max-width: 145px;
    height: auto;
  }

  footer .footer_legal {
    font-size: 0.9rem;
    font-weight: 400;
  }

  footer .footer_legal > div {
    padding-left: 0;
    padding-right: 0;
  }
   
  footer .footer_legal .link-secondary {
    color: #fff !important;
    text-decoration: none;
    font-weight: 400;
  }

  footer .footer_legal .link-secondary:focus, 
  footer .footer_legal .link-secondary:hover ,
  footer .footer_legal .link-secondary.active {
    text-decoration: underline !important;
  }

  footer .footer_social {
      color: #fff;
      text-decoration: unset;
      height: 20px;
      font-size: 1.3rem;
      margin-right: 10px;
      opacity: 1;
  }

  footer .footer_social:hover {
      opacity: .85;
  }


  /* BACK TO TOP
  -------------------------------------------------- */

  @media (max-width: 768px) {
    
    #back-to-top {
        position: fixed;
        z-index: 1000;
        bottom: 0px;
        right: 24px;
        display: none;
    }

    #back-to-top a {
      position: relative;
      display: block;
      width: 54px;
      height: 48px;
      background: #000000;
      color: #ffffff;
      font-size: 14px;
      line-height: 50px;
      text-align: center;
      border-radius: 3px 3px 0 0;
      opacity: 1;
    }

     #back-to-top a i {
      margin-top: 15px;
     }
    
    #back-to-top a {
      -webkit-transition: all 0.2s;
         -moz-transition: all 0.2s;
        -ms-transition: all 0.2s;
         -o-transition: all 0.2s;
          transition: all 0.2s;
    }

    #back-to-top a:hover {
      background-color:var(--VV-Primary, #C20E1A);
    }

  }


  @media (min-width: 768px) {
    
    #back-to-top {
      display:none !important;
    }
  }