* {
  box-sizing: border-box;
}
body {
  font-family: 'Montserrat', sans-serif;
  background-color: #f5f5f5;
}
#home_left,
#home_right {
  margin-right: 8vw;
  margin-left: 8vw;
  margin-top: 8vw;
}
#home_content h2 {
  text-decoration: underline;
}
#calendar_home {
  display: block;
}
#calendar_home h2 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #575757;
  margin-bottom: 1.5vw;
}
.class_date {
  background-color: white;
  padding: 0.75vw;
  border: 0.25px solid #707070;
  margin-bottom: 1vw;
  border-radius: 15px;
  text-align: center;
}
.class_date h5 {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.8rem;
  margin-bottom: 0.1vw;
}
.class_date p {
  font-size: 0.7rem;
  color: #5a359a;
}
#payment_status_ok,
#payment_status_notok, 
#freno_cursada {
  text-align: center;
  background-color: #37d187;
  padding: 5vw;
  color: white;
  font-size: 1.2rem;
  border-radius: 20px;
  margin-top: 1vw;
  margin-bottom: 4vw;
}
#payment_status_notok {
  background-color: #5a359a;
}
#freno_cursada {
  background-color: red;
  font-size: 0.8rem;
}
#course_of_study,
#learn {
  text-align: center;
  background-color: white;
  border-radius: 20px;
  border: 1px solid #7070706b;
  padding: 8vw 8vw 0 8vw;
  margin-bottom: 8vw;
}
#course_of_study h2,
#learn h2 {
  font-size: 1.65rem;
  margin-bottom: 8vw;
  color: #575757;
  font-weight: 450;
}
#course_of_study h4 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #5a359a; /* Violeta */
  margin-bottom: 1.5vw;
}
.link_usuario_test {
  color: #37d187; /* Verde */
  text-decoration: underline;
}
.class progress {
  display: none;
}
.class img {
  height: 35.4vw;
  width: 66.9vw;
  object-fit: cover;
  border-radius: 25px;
  margin-bottom: 6vw;
}
.class h3 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #575757;
  margin-bottom: 3vw;
}
.class p {
  font-size: 1rem;
  color: #575757;
}
.class a {
  display: block;
  background-color: #37d187;
  color: white;
  padding: 4vw;
  border-radius: 20px;
  margin-top: 1.5vw;
  margin-bottom: 3vw;
}
.class_promo img {
  width: 66.9vw;
  max-height: 35.4vw;
  object-fit: cover;
  border-radius: 25px;
  margin-bottom: 6vw;
}
.class_promo h3 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #575757;
  margin-bottom: 3vw;
}
.class_promo p {
  font-size: 1rem;
  color: #575757;
}
.class_promo a {
  display: block;
  background-color: #37d187;
  color: white;
  padding: 4vw;
  border-radius: 20px;
  margin-top: 1.5vw;
  margin-bottom: 3vw;
}
.learn_class {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 8vw;
}
.learn_class figure {
  height: 20vw;
  width: 20vw;
  margin-right: 5vw;
}
.learn_class img {
  height: 20vw;
  width: 20vw;
  object-fit: cover;
  border-radius: 50%;
  cursor: pointer;
}
.speaker {
  text-align: left;
  display: flex;
  flex-flow: column;
  align-items: baseline;
  justify-content: center;
}
.speaker h3 {
  font-size: 1.1rem;
  font-weight: 400;
  color: #575757;
  margin-bottom: 1vw;
}
.speaker p {
  font-size: 0.8rem;
  color: #5a359a;
}
#learn a {
  display: block;
  font-size: 1.3rem;
  color: #37d187;
  font-weight: 450;
  margin-bottom: 8vw;
}
.estado_pago {
	margin-top: 1vw;
}
.estado_pago a {
	color: white;
}
.links_pago {
  font-size: 0.8rem;
  margin-bottom: 1vw;
}
.links_pago h2 {
	font-weight: bold;
	margin-bottom: 1vw;
}
.links_pago li {
	text-align: left;
	list-style-type: none;
	margin-bottom: 1vw;
}
.links_pago a {
  font-size: 0.8rem;
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  #home_content {
    display: flex;
    flex-flow: row wrap;
  }
  #home_left {
    margin-left: 6.25vw;
    margin-right: 3vw;
    max-width: 405px;
    background-color: white;
    text-align: center;
    background-color: white;
    border-radius: 20px;
    border: 1px solid #7070706b;
    padding: 3.125vw 2vw 0 2vw;
    width: 21.093%;
    margin-top: 3.125vw;
    height: fit-content;
  }
  #calendar_home {
    display: block;
  }
  #calendar_home h2 {
    font-size: 1.3rem;
    font-weight: 400;
    color: #575757;
    margin-bottom: 1.5vw;
  }
  .class_date {
    background-color: white;
    padding: 0.75vw;
    border: 0.25px solid #707070;
    margin-bottom: 1vw;
    border-radius: 15px;
  }
  .class_date h5 {
	font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    margin-bottom: 0.1vw;
  }
  .class_date p {
    font-size: 0.7rem;
    color: #5a359a;
  }
  #payment_status_ok,
  #payment_status_notok, 
  #freno_cursada {
    padding: 1.3vw;
    font-size: 0.8rem;
	color: white;
	margin-bottom: 2vw;
	margin-bottom: 2vw;
  }
  #home_right {
    max-width: 1155px;
    margin-top: 3.125vw;
    width: 60%;
    padding: 3.125vw 3.125vw 0 3.125vw;
    margin-left: 3vw;
    margin-right: 6.25vw;
    background-color: white;
    text-align: center;
    background-color: white;
    border-radius: 20px;
    border: 1px solid #7070706b;
    height: fit-content;
  }
  #course_of_study,
  #learn {
    text-align: left;
    background-color: none;
    border: none;
    padding: 0;
    margin-bottom: 6.25vw;
  }
  #course_of_study h2,
  #learn h2 {
    font-size: 1.3rem;
    margin-bottom: 2vw;
    font-weight: 400;
  }
  #course_of_study h4 {
    font-size: 1.1rem;
    font-weight: 400;
    margin-bottom: 1vw;
  }
  .class {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 4vw;
  }
  .class_data {
    width: 45%;
  }
  .class progress {
    display: block;
    height: 1.5rem;
    width: 100%;
  }
  .class img {
    height: 15vw;
    width: 27vw;
    margin-bottom: 0;
    margin-right: 2vw;
  }
  .class h3 {
    font-size: 1.1rem;
    margin-top: 2vw;
    margin-bottom: 0.1vw;
    height: fit-content;
  }
  .class p {
    font-size: 0.9rem;
    color: #575757;
  }
  .class a {
    text-align: center;
    padding: 1vw;
    border-radius: 20px;
    margin-top: 1.5vw;
    margin-bottom: 0;
  }
  .class_promo {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 4vw;
  }
  .class_promo progress {
    display: block;
    height: 1.5rem;
    width: 100%;
  }
  .class_promo img {
    width: 27vw;
	max-height: 15vw;
    margin-bottom: 0;
    margin-right: 2vw;
  }
  .class_promo h3 {
    font-size: 1.1rem;
    margin-top: 2vw;
    margin-bottom: 0.1vw;
    height: fit-content;
  }
  .class_promo p {
    font-size: 0.9rem;
    color: #575757;
  }
  .class_promo a {
    text-align: center;
    padding: 1vw;
    border-radius: 20px;
    margin-top: 3vw;
    margin-bottom: 0;
  }
  #learn {
    /*display: flex;*/
    flex-flow: row wrap;
    margin-bottom: 4vw;
  }
  #learn h2 {
    width: 100%;
  }
  .learn_class {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 2vw;;
    margin-right: 2vw;
  }
  .learn_class figure {
    height: 5vw;
    width: 5vw;
    margin-right: 1vw;
    height: fit-content;
  }
  .learn_class img {
    height: 5vw;
    width: 5vw;
  }
  .speaker {
    justify-content: center;
  }
  .speaker h3 {
    font-size: 0.9rem;
    font-weight: 400;
    color: #575757;
    margin-bottom: 0.25vw;
  }
  .speaker p {
    font-size: 0.5rem;
    color: #5a359a;
  }
  #learn a {
    width: 100%;
    font-size: 1rem;
    margin-bottom: 0;
    margin-top: 0.5vw;
  }
  .barraprogreso {
	height: 1.5em;
	width: 100%;
	background-color: #c9c9c9;
	position: relative;
	border-radius: 1.5em;
	margin: 10px 0 10px 0;
  }
  .barraprogreso:before {
	content: attr(data-label);
	font-size: 0.9em;
    font-weight: 600;
	color: #3F2A80;
	position: absolute;
	text-align: center;
	top: 4px;
	left: 0;
	right: 0;
  }
  .barraprogreso .value {
	background-color: #37D187;
	display: inline-block;
	height: 100%;
  }
}
