*,
::after,
::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html, body {
  box-sizing: border-box;
  background-color: whitesmoke;
  scroll-behavior: smooth; }

html {
  font-size: 62, 5%; }

body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  line-height: 1.3rem; }

.navigation {
  font-weight: 500;
  font-style: italic;
  font-size: 1.4rem;
  color: white;
  text-shadow: 1px 1px black; }
  .navigation a {
    font-size: 17px; }

.titulo {
  font-family: 'Montserrat', sans-serif; }
  .titulo__header {
    margin: 0;
    font-size: 6rem;
    font-style: italic;
    color: whitesmoke;
    line-height: normal; }
    @media (max-width: 900px) {
      .titulo__header {
        text-align: center;
        font-size: 3rem; } }
  .titulo__eslogan {
    font-weight: 500;
    color: whitesmoke;
    text-align: right; }
    @media (max-width: 900px) {
      .titulo__eslogan {
        margin: 0;
        font-size: 1.2rem;
        text-align: center;
        width: 100%; } }
  .titulo__seccion {
    font-size: 4rem;
    width: 100%;
    font-style: italic;
    font-weight: 700;
    line-height: 3rem;
    margin-bottom: 5rem;
    z-index: 1;
    position: relative;
    text-align: inherit; }
    @media (max-width: 900px) {
      .titulo__seccion {
        text-align: center;
        font-size: 2.7rem; } }

.quienesSomos {
  line-height: 1.9rem; }
  .quienesSomos p {
    font-size: 1.5rem;
    font-weight: 500;
    font-style: italic; }
  @media (max-width: 900px) {
    .quienesSomos {
      line-height: 1.5rem; }
      .quienesSomos p {
        font-size: 1.2rem;
        font-weight: 500;
        font-style: italic; } }

.info {
  font-weight: 500; }
  .info__titulo {
    font-size: 1.5rem;
    font-style: italic; }
  .info__autor {
    font-weight: 500; }
    .info__autor span {
      font-weight: 700; }
  .info p span {
    font-style: italic; }
  @media (max-width: 900px) {
    .info {
      line-height: 1.7rem; } }

.cursos__card-curso h2 {
  font-size: 2rem;
  font-style: italic;
  text-align: center; }

.cursos__card-curso p, .cursos__card-curso span {
  font-weight: 500; }

.cursos__card-curso span {
  font-style: italic; }

.cursos__card-fecha p {
  font-weight: 700; }

.cursos__card-fecha a {
  font-weight: 500; }

.docentes {
  line-height: 3rem; }
  .docentes h3 {
    font-size: 2rem; }
  .docentes p {
    font-weight: 500;
    font-size: 1.5rem; }
  @media (max-width: 900px) {
    .docentes {
      line-height: 2.5rem; }
      .docentes h3 {
        font-size: 1.5rem;
        text-align: center; }
      .docentes p {
        font-size: 1.2rem; } }

.navigation {
  width: 100%;
  padding: 0 15rem;
  margin: 0;
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
  z-index: 1500; }
  .navigation__logo {
    display: flex;
    justify-content: center;
    align-self: center; }
    .navigation__logo img {
      width: 100%;
      display: none;
      max-height: 2.5rem;
      margin-right: 1rem; }
    .navigation__logo h1 {
      line-height: 1.3; }
  .navigation ul {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative; }
    .navigation ul li {
      margin: 0px;
      display: inline-block; }
      .navigation ul li:hover > ul {
        display: block;
        background-color: #254441; }
      .navigation ul li ul li {
        width: 300px;
        display: block; }
        .navigation ul li ul li:hover {
          background: #000000; }
      .navigation ul li ul ul li {
        background-color: #254441;
        position: absolute;
        top: -48px;
        right: 0; }
        .navigation ul li ul ul li a {
          font-style: normal;
          font-weight: 300; }
    .navigation ul ul {
      display: none;
      position: absolute;
      z-index: 2000; }
  .navigation a {
    display: block;
    padding: 14px 20px;
    color: #FFF;
    font-size: 17px;
    text-decoration: none; }
    .navigation a:hover {
      background-color: #000000; }

@media (max-width: 1280px) {
  .navigation {
    padding: 0 5rem; } }

/* Media Queries
--------------------------------------------- */
@media (max-width: 900px) {
  .navigation {
    position: fixed;
    padding: 0;
    flex-direction: column;
    align-items: center;
    background-image: none;
    background-color: #254441; }
    .navigation ul {
      display: none;
      background-color: #254441;
      width: 100%;
      padding: 0;
      margin: 0;
      list-style: none;
      position: relative;
      text-align: center; }
      .navigation ul li {
        display: block; } }

.sticky {
  position: fixed;
  background-image: none;
  background-color: #254441; }
  @media (max-width: 1200px) {
    .sticky {
      position: fixed;
      height: 3rem; } }
  .sticky__logo img {
    display: block; }

.header {
  padding: 0 3rem;
  position: relative;
  display: flex;
  height: 100vh;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url("../../Img/header-campo.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 10rem; }
  .header::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #004d7a99, #00879399, #00bf7299, whitesmoke);
    z-index: 1; }
  @media (max-width: 1400px) {
    .header {
      padding: 0 1rem; } }

.hero {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5; }
  .hero__logo {
    display: flex; }
    .hero__logo img {
      max-width: 20rem; }
    @media (max-width: 1200px) {
      .hero__logo {
        padding-inline: 25%;
        justify-content: center;
        align-items: center; } }
    @media (max-width: 900px) {
      .hero__logo {
        padding: 0rem;
        width: 100%; }
        .hero__logo img {
          padding: 3rem; } }
  @media (max-width: 1200px) {
    .hero {
      padding: 0rem;
      flex-direction: column;
      align-items: center;
      justify-content: center; } }

.quienesSomos {
  height: 100vh;
  max-width: 100rem;
  margin: 0rem auto;
  padding: 0rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .quienesSomos__texto {
    padding: 5rem;
    background-color: white; }
    .quienesSomos__texto p {
      padding-bottom: 2rem; }
  @media (max-width: 900px) {
    .quienesSomos {
      height: auto;
      padding: 3rem 1rem; }
      .quienesSomos__texto {
        padding: 1rem;
        background-color: white; }
        .quienesSomos__texto p {
          padding-bottom: 1rem; } }

.info {
  max-width: 100rem;
  padding: 5rem 1rem;
  position: relative;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .info__articulo {
    padding: 3rem 1rem;
    width: 100%;
    background-color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-bottom: solid 1px red; }
  .info__titulo {
    text-align: center;
    margin-bottom: 2rem; }
  .info__autor {
    margin-bottom: 1.5rem; }
  .info p {
    margin-bottom: 1rem;
    padding: 0 3rem; }
  .info a {
    margin: 5rem 0;
    text-decoration: none; }
  .info hr {
    border: none;
    height: 1px;
    padding: 0 20rem;
    background-color: red; }
  @media (max-width: 900px) {
    .info {
      padding: 3rem 1rem; }
      .info p {
        margin-bottom: 1rem;
        padding: 0 0.5rem; } }

.cursos {
  bottom: 0;
  padding: 5rem 15rem;
  position: relative;
  display: none; }
  @media (max-width: 900px) {
    .cursos {
      padding: 0 1rem; } }
  .cursos__container {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 auto; }
    @media (max-width: 1200px) {
      .cursos__container {
        width: 100%; } }
    .cursos__container hr {
      border: none;
      height: 1px;
      background-color: red; }
  .cursos__cards {
    padding-top: 3rem;
    margin-left: 1rem;
    background-color: white;
    position: relative; }
    @media (max-width: 900px) {
      .cursos__cards {
        margin: 0; } }
  .cursos__card {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 1rem;
    background-color: white; }
    .cursos__card:not(:last-child) {
      margin-bottom: 0.5arem; }
    .cursos__card-curso {
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      padding: 2rem 0rem; }
      .cursos__card-curso h2 {
        margin-bottom: 3rem; }
      .cursos__card-curso p {
        padding: 0 3rem;
        margin-bottom: 1.5rem; }
      @media (max-width: 1200px) {
        .cursos__card-curso p {
          padding: 0; } }
    .cursos__card-categoria {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 1.5rem; }
      .cursos__card-categoria div:not(:last-child) {
        margin-right: 10rem; }
      .cursos__card-categoria i {
        color: red;
        margin-right: 1rem; }
      @media (max-width: 900px) {
        .cursos__card-categoria {
          flex-direction: column; }
          .cursos__card-categoria div {
            margin-bottom: 1.5rem; }
            .cursos__card-categoria div:not(:last-child) {
              margin-right: 0; } }
    .cursos__card-link {
      padding: 0 3rem; }
    @media (max-width: 900px) {
      .cursos__card {
        padding: 1rem 1rem 3rem 1rem;
        margin-bottom: 2rem;
        flex-direction: column;
        height: auto; } }

.docentes {
  bottom: 0;
  padding: 5rem 15rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .docentes__container {
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding: 3rem;
    background-color: white; }
  .docentes__area {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5rem; }
  @media (max-width: 900px) {
    .docentes {
      padding: 10px; }
      .docentes__container {
        padding: 0; } }

.footer {
  margin-top: 5rem;
  padding: 3rem;
  height: 100vh;
  width: 100%;
  bottom: 0;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color: #254441; }
  .footer .formulario {
    width: 50%;
    padding: 0 5rem; }
    .footer .formulario h2 {
      width: 100%;
      margin-bottom: 6rem;
      font-size: 3rem;
      text-align: center;
      color: #668885; }
    .footer .formulario form label {
      display: flex;
      align-items: center;
      width: 100%;
      padding-bottom: 2rem; }
      .footer .formulario form label p {
        width: 8rem;
        font-size: 1.5rem;
        font-weight: 500;
        color: #668885;
        padding-right: 1rem; }
      .footer .formulario form label input {
        border: solid 1px #668885;
        background-color: #254441;
        height: 2rem;
        width: 100%; }
      .footer .formulario form label textarea {
        border: solid 1px #668885;
        background-color: #254441;
        width: 100%; }
    @media (max-width: 480px) {
      .footer .formulario {
        flex-direction: column;
        width: 100%;
        padding: 2rem 0; }
        .footer .formulario h2 {
          font-size: 2rem;
          margin-bottom: 3rem;
          line-height: 1.7rem; }
        .footer .formulario form label {
          padding-bottom: 1rem; }
          .footer .formulario form label p {
            font-size: 0.9rem;
            font-weight: 500;
            color: #668885;
            padding-right: 0.2rem; }
          .footer .formulario form label input {
            border: solid 1px #668885;
            background-color: #254441;
            height: 1.5rem;
            width: 100%; }
          .footer .formulario form label textarea {
            border: solid 1px #668885;
            background-color: #254441;
            width: 100%; } }
  @media (max-width: 480px) {
    .footer {
      padding: 1rem; } }

.banderas {
  width: 100%;
  padding-left: auto;
  padding-right: auto;
  position: absolute;
  bottom: 0; }
