html {
  scroll-behavior: smooth;
}

p,
h1,
h2,
h3,
a {
  line-height: normal;
  margin: 0;
}

h1,
h2,
h3,
li a {
  font-family: "Playfair Display", serif;
}

p,
a,
span {
  font-family: "Raleway", sans-serif;
}

h2 {
  font-size: 32px;
}

a:hover {
  text-decoration: none;
}

#education,
#certificates,
#awards,
#publications {
  padding-top: 88px;
  margin-top: -88px;
}

.header {
  position: fixed;
  display: flex;
  width: 100%;
  z-index: 1000;
  height: auto;
  min-height: 88px;
  padding: 8px;
  justify-content: flex-end;
  align-items: center;
}

.header-principal {
  display: flex;
  justify-content: center;
  max-width: 1360px;
  margin: 0 auto;
}

.header-logoContainer {
  align-items: center;
  margin-left: 16px;
  display: none;
}
.header-logoContainer_border {
  width: 32px;
  height: 32px;
  border: 1px solid #12235d;
  border-radius: 4px;
  margin-right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-logoContainer_border img {
  width: 21px;
  height: 16px;
}
.header-logoContainer_name {
  width: max-content;
  font-family: "Playfair Display", serif;
  color: #12235d;
}

.header-links {
  display: flex;
}

.header-elem {
  margin: 0 32px 0 0;
  list-style-type: none;
  width: fit-content;
}

.header-elem_link {
  color: white;
  font-size: 18px;
  font-weight: normal;
  text-decoration: none;
  display: flex;
  justify-content: center;
}

.header-elem_line {
  width: 75px;
  height: 1px;
  background-color: #3893ff;
  position: relative;
  margin: 11px auto 0;
}
.header-elem_oval {
  width: 6px;
  height: 6px;
  background-color: #3893ff;
  border-radius: 50%;
  position: absolute;
  right: calc(50% - 3px);
  top: -3px;
}

.header-elem_link:hover  {
  text-decoration: none;
  color: white;
}

.header-buttonContainer {
  margin: 0 28px 0 0;
  width: 32px;
  background-color: transparent;
  padding: 0;
  border: none;
}

.header-button {
  width: 100%;
}

.header-buttonContainer:focus {
  margin: 0 28px 0 0;
  width: 32px;
  outline: none;
  padding: 0;
  border: none;
}

#openHeader {
  display: none;
}

#closeHeader {
  display: none;
}

.header-buttonContainerClose {
  margin: 0 28px 0 0;
  width: 16px;
  background-color: transparent;
  padding: 0;
  border: none;
}

.header-buttonClose {
  width: 20px;
  height: 20px;
}

.header-buttonContainerClose:focus {
  margin: 0 28px 0 0;
  width: 16px;
  outline: none;
  padding: 0;
  border: none;
}

.mobile {
  display: none;
}

#dropdownMobile {
  display: none;
  position: absolute;
  height: 100vh;
  width: 100%;
  top: 64px;
  z-index: 1;
  background-color: white;
  left: 0;
}

@media screen and (max-width: 991.98px) {
  .desktop {
    display: none;
  }

  .mobile {
    display: block;
  }

  #openHeader {
    display: block;
  }

  #closeHeader {
    display: none;
  }

  .header-list {
    padding: 50px 33px 33px;
  }

  .header-elem {
    margin: 0 auto 37px;
  }
  .header-elem_link {
    color: #12235d;
  }
}

.section-container {
  max-width: 1360px;
  margin: 0 auto;
}

/********** hero section start**********/
.welcome-hero {
  width: 100%;
  min-height: 576px;
  background: url("../img/fondo.jpg"), #1d386e;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  display: flex;
  align-items: flex-end;
}
.welcome-hero .section-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 128px;
}
.welcome-hero img {
  width: 200px;
  height: 201px;
  object-fit: contain;
}
.welcome-hero h1 {
  font-size: 32px;
  font-weight: bold;
  color: white;
  font-family: "Playfair Display", serif;
}
.welcome-hero p {
  /* font-family: ; */
  font-size: 14px;
  font-weight: 500;
  color: white;
  font-family: "Raleway", sans-serif;
  margin: 16px 0;
}
.welcome-hero a {
  width: 208px;
  height: 40px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  background-color: white;
  color: #1d386e;
  font-family: "Raleway", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}
/********** hero section end**********/

/********** about section start**********/
.about {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  padding: 72px 32px 95px;
}

.about img {
  width: 200px;
  height: 201px;
  /*padding: 43px 29px 40px 24px;*/
  border: 1px solid #12235d;
  margin: 0 32px 32px 0;
  border-radius: 4px;
  box-sizing: content-box;
}
.about-content a {
  width: 246px;
  height: 40px;
  border-radius: 4px;
  border: solid 1px #12235d;
  background-color: #12235d;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Raleway", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: white;
}
.about-content-text > p {
  font-family: "PlayfairDisplay", serif;
  font-size: 32px;
  color: #12235d;
  margin: 0 0 11px;
}
.about-content-text > div {
  max-width: 776px;
  max-height: 463px;
  overflow: auto;
  padding-bottom: 7px;
  border-bottom: 1px solid #2388ff;
  margin-bottom: 24px;
}
.about-content-text > div p {
  font-family: "Raleway", serif;
  font-size: 14px;
  color: #484848;
  margin: 0 0 12px;
}
/********** about section end**********/

/********** banner section start**********/
.banner {
  background: url("../img/fondo-2.jpg"), #1d386e;
  background-repeat: no-repeat;
  background-size: cover;
  height: 394px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-position: center;
}
.banner div {
  max-width: 859px;
  margin: 0 auto;
  padding: 0 32px;
}
.banner div h2 {
  font-size: 32px;
  font-weight: bold;
  color: white;
  margin: 0 0 15px;
}
.banner div p {
  font-size: 14px;
  font-weight: 500;
  color: white;
  margin: 0 0 48px;
}
.banner div a {
  width: 293px;
  height: 40px;
  border-radius: 4px;
  background-color: white;
  color: #12235d;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
}
/********** banner section end**********/

/********** specialties section start**********/
.specialties {
  max-width: 1360px;
  margin: 0 auto;
}
.specialties-content {
  margin-bottom: 116px;
}
.specialties-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 87px 0 46px;
  padding: 0 32px;
}
.specialties-header h2 {
  color: #12235d;
  text-align: center;
}
.specialties-header span {
  color: #484848;
  font-size: 14px;
  text-align: center;
}
.specialties-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.specialties-cards-item {
  width: 312px;
  height: 220px;
  border-radius: 4px;
  box-shadow: 0 2px 8px 0 rgba(176, 176, 176, 0.5);
  background-color: white;
  margin: 18px;
  padding: 24px 32px;
  box-sizing: border-box;
}
.specialties-cards-item p:first-child {
  font-family: "PlayfairDisplay", serif;
  text-align: center;
  font-size: 24px;
  color: #12235d;
  position: relative;
  padding: 12px;
  margin-bottom: 8px;
}
.specialties-cards-item p:first-child::before {
  content: "";
  position: absolute;
  left: calc(50% - 40px);
  bottom: 0;
  height: 1px;
  width: 80px;
  border-bottom: 1px solid #3893ff;
}
.specialties-cards-item p:last-child {
  text-align: center;
  color: #484848;
  font-size: 14px;
}
/********** specialties section end**********/

/********** profile section start**********/
.profile {
  background-color: #f7f7f7;
}
.profile h2,
p,
span {
  color: white;
}
.profile h2 {
  font-size: 32px;
  margin-bottom: 7px;
}
.profile h2 + p {
  font-size: 14px;
}

.profile .section-container {
  display: flex;
}
.profile-left {
  background: url("../img/fondo-3.jpg"), #1d386e;
  background-repeat: no-repeat;
  background-size: cover;
  width: 568px;
  min-height: 1080px;
  padding: 74px 0 72px;
  box-sizing: border-box;
}
.profile-right {
  width: 790px;
  background-color: #f7f7f7;
  padding: 48px 88px 40px 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.profile-left h2,
.profile-left h2 + p {
  text-align: center;
}

.profile-card {
  width: 100%;
  max-width: 632px;
  /* box-shadow: 0 2px 8px 0 rgba(176, 176, 176, 0.5); */
  margin-bottom: 48px;
  border-radius: 4px;
}
.profile-card > div:first-child {
  min-height: 120px;
  background-image: linear-gradient(to left, #0a1835, #1b2c5a);
  padding: 28px 40px;
  box-sizing: border-box;
  border-bottom: 2px solid #3893ff;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 2px 8px 0 rgba(176, 176, 176, 0.5);
}
.profile-card > div:nth-child(2) {
  padding: 30px 48px 32px;
  background-color: white;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 2px 8px 0 rgba(176, 176, 176, 0.5);
}
.profile-card-item_title {
  color: #080e3d;
  font-weight: bold;
  margin-bottom: 2px;
}
.profile-card-item_subtitle {
  color: #484848;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}
.profile-card-item_date {
  color: #484848;
  font-size: 14px;
  font-weight: 600;
}


.profile-opinions a {
  width: 295px;
  height: 40px;
  border-radius: 4px;
  background-color: #0c1b3a;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: bold;
  margin: 0 auto;
}
.profile-opinions-counter {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.profile-opinions-counter > div {
  display: flex;
  align-items: center;
}
.profile-opinions-counter p {
  font-size: 18px;
  text-align: center;
  position: relative;
  margin-top: 24px;
  padding-top: 8px;
  color: #484848;
  font-weight: bold;
}
.profile-opinions-counter p::before {
  content: "";
  position: absolute;
  left: calc(50% - 75px);
  top: 0;
  height: 1px;
  width: 150px;
  background-color: #3893ff;
}
.profile-opinions-counter-number {
  font-size: 32px;
  font-weight: bold;
  margin-right: 7px;
  color: #0c1b3a;
  line-height: normal;
}
.profile-opinions-counter-stars {
  display: flex;
}
.profile-opinions-counter-stars img {
  width: 40px;
  height: 40px;
  margin-right: 8px;
}

.profile-opinions-list {
  padding-bottom: 40px;
}
.profile-opinions-list_title {
  margin-bottom: 65px;
  padding: 0 32px;
}
.profile-opinions-list-item {
  margin-bottom: 40px;
  border-bottom: 1px solid #3893ff;
  max-width: 423px;
}
.profile-opinions-list-item:last-child {
  border-bottom: none;
}
.profile-opinions-list-item p:first-child {
  font-family: "PlayfairDisplay", serif;
  margin-bottom: 8px;
  color: #080e3d;
  font-weight: 600;
}
.profile-opinions-list-item > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.profile-opinions-list-item_stars {
  display: flex;
  align-items: center;
}
.profile-opinions-list-item_stars span {
  font-size: 18px;
  font-weight: bold;
  margin-right: 8px;
  color: #080e3d;
}
.profile-opinions-list-item_stars div {
  display: flex;
}
.profile-opinions-list-item_stars div img {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.profile-opinions-list-item_text {
  margin: 32px 0;
  color: #484848;
  font-weight: bold;
}
.profile-opinions-list-item_date {
  color: #080e3d;
  font-size: 14px;
  font-weight: 500;
}

.profile-video {
  margin-bottom: 77px;
}
.profile-video-container {
  display: flex;
  justify-content: center;
  margin-top: 19px;
}
.profile-video-container video {
  max-width: 424px;
  width: 100%;
  min-height: 224px;
}

.profile-gallery p {
  padding: 0 24px;
}
.profile-gallery-container {
  margin-top: 49px;
}
.profile-gallery-container div {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.profile-gallery-container img {
  width: 200px;
  height: 104px;
  border-radius: 4px;
  margin: 8px;
}

/********** profile section end**********/

/********** contact section start**********/
.contact {
  padding: 86px 24px 80px;
}
.contact > div {
  margin: 0 auto;
  max-width: 648px;
  min-height: 168px;
  display: flex;
  padding: 32px 72px 0;
  border-radius: 4px;
  border: solid 1.5px #3893ff;
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #f7f7f7;
}
.contact img {
  width: 96px;
  height: 97px;
  padding: 20px 8px;
  border: 1px solid #12235d;
  border-radius: 4px;
  margin-right: 24px;
  margin-bottom: 21px;
  background-color: white;
}
.contact-name {
  font-family: "PlayfairDisplay", serif;
  font-size: 24px;
  color: #12235d;
}
.contact-plan {
  font-size: 16px;
  color: #484848;
  margin: 10px 0;
}
.contact-link {
  font-size: 16px;
  color: #484848;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
/**********contact section end **********/
.footer {
  background-color: #1b2c5a;
  padding: 24px 0;
}

.footer-container {
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas: "Legal Social Email";
}

.footer-legal {
  grid-area: Legal;
  width: 225px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.footer-legal_terms {
  color: white;
  text-decoration: none;
  text-align: center;
}

.footer-legal_terms:hover {
  color: white;
  text-decoration: none;
}

.footer-social {
  grid-area: Social;
  width: 225px;
  margin: 0 auto;
}

.footer-imgContainer {
  display: flex;
  justify-content: center;
}

.footer-imgContainer-link {
  width: 32px;
  height: 32px;
  margin: 0 16px 0 0;
  cursor: pointer;
}

.footer-imgContainer-link:last-child {
  margin: 0;
}

.footer-imgContainer-facebook {
  content: url("../img/social-media/facebook.svg");
}
.footer-imgContainer-linkedin {
  content: url("../img/social-media/linkedin.svg");
}
.footer-imgContainer-whatsapp {
  content: url("../img/social-media/whatsapp.svg");
}
.footer-imgContainer-twitter {
  content: url("../img/social-media/twitter.svg");
}
.footer-imgContainer-youtube {
  content: url("../img/social-media/youtube.svg");
}
.footer-imgContainer-instagram {
  content: url("../img/social-media/instagram.svg");
}
.footer-imgContainer-facebook:hover {
  content: url("../img/social-media-hover/facebook.svg");
}
.footer-imgContainer-linkedin:hover {
  content: url("../img/social-media-hover/linkedin.svg");
}
.footer-imgContainer-whatsapp:hover {
  content: url("../img/social-media-hover/whatsapp.svg");
}
.footer-imgContainer-twitter:hover {
  content: url("../img/social-media-hover/twitter.svg");
}
.footer-imgContainer-youtube:hover {
  content: url("../img/social-media-hover/youtube.svg");
}
.footer-imgContainer-instagram:hover {
  content: url("../img/social-media-hover/instagram.svg");
}

.footer-imgContainer .icon {
  width: 32px;
  height: 32px;
  cursor: pointer;
}

.footer-address {
  grid-area: Address;
  width: 225px;
  margin: 0 auto;
}

.footer-email {
  grid-area: Email;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.footer-title {
  font-family: "PlayfairDisplay", serif;
  font-size: 18px;
  color: white;
  margin: 0 0 16px;
  text-align: center;
}

.footer-text {
  font-size: 16px;
  color: white;
  margin: 0 0 4px;
  text-align: center;
  text-decoration: none;
}

.footer-text:hover {
  color: white;
  text-decoration: none;
}

.copyright {
  background-color: #f5f5f5;
}

.copyright-container {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 0;
}

.copyright-text {
  color: #013957;
  font-size: 16px;
  margin: 0 14px 0 0;
  font-weight: bold;
}

.copyright-logo {
  width: 150px;
  height: 32px;
}