/*general styles*/
section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

h1 {
  font-family: 'Rubik Dirt', cursive;
  font-size: 2.5rem;
  
}

.btn-info {
  font-size: 1.1rem;
  margin: 20px;  
}

.dark-section {
  color: white;
  background-color: black;
}

.light-section {
  color: black;
  background: white;
}

.title-section {
  font-size: 2rem;
  padding: 15px 0;
  font-family: 'Rubik Dirt', cursive;
}

.description-section {
  font-size: 1.2rem;
  color: #584e4e;
}

.text-section {
  font-size: 1.2rem;  
}

.dark-text {
  color: black;
}

.light-text {
  color: white;
}


/*navbar related styles*/
.navbar {
  padding: 2rem;
  background-color: #f5f6f7;
}

.navbar-collapse{
  align-items: center;
  justify-content: space-between;
}


/*hero section*/
.hero {
  background-color: #f5f6f7;
  min-height: 450px;
  text-align: center;
}

.hero-principal {
  padding: 3rem;
}

.hero-image{
  width: 200px;
  height: 200px;  
  margin: 20px; 
}

.hero-principal h2{
  font-size: 1.5rem;
  color: #615151;
}

.hero-inferior-image{
  margin-bottom: 5px;
  max-width: 300px;
}

/*about-me section*/
.about-me {
  height: 500px;
  padding: 10px;
}

.about-me .my-container{
  max-width: 600px;
  text-align: center;
}


/*experience section*/
.experience {
  padding: 40px 40px 60px 40px;
}

.experience i {
  font-size: 2.5rem;
  color: #7ade30;
  background-color: #0a0a23;
  padding: 8px 19px;
  border-radius: 50%;
}

.experience .my-column {
  padding: 20px;
  border: 2px solid #8080804d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  transition: all 0.2s ease-in;
}

.experience .my-column:hover{
  color: white;
  background-color: #1b1b32;
}

.title-experience{
  font-size: 25px;
  font-weight: bold;
  margin: 10px 0;
}

.badge-container{
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0;
}

.badge {
  margin: 5px;
}

/*projects*/
.recent-projects {
  padding: 40px;
}

.recent-projects img {
  height: 100%;
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  display: block;
  transition: all 0.2s ease;
}

.projects-container {
  padding-top: 60px;
  margin-bottom: 40px;
  
}

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.1); /* Semi-transparent background */  
  display: flex;
  flex-direction: column;  
  justify-content: space-evenly;  
  opacity: 0;
  transition: opacity 0.3s ease;  
}

.project-title{
  font-size: 25px;
  font-weight: bold;  
}

.project {
  position: relative;    
}

.project:hover img {
  opacity: 0.2
}

.project img {
  width: 100%;
  height: 100%;  
}

.project:hover .overlay{
  opacity: 1;
  
}

.overlay i{
  color: black;
  font-size: 40px;
  margin: 10px;
}

.project-small-devices { /* this style only applies in small devices */
  display: none;
}

/*certifications*/
.certifications {
  min-height: 500px;
  padding: 30px;
}

.certifications .card {
  width: 80%;
  max-width: 600px;
  margin: 20px;
}

.certifications .card-header {
  font-weight: bold;
}


/*testimonies*/
.testimonies {
  padding: 40px 40px 80px 40px;
}

.testimonies .carousel {
  max-width: 800px;
}

.testimonies .carousel-item {
  height: 500px;
}

.testimonies .carousel-item .container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.testimony-img {
  height: 150px;
  width: 150px;
  margin: 10px 10px 20px 10px;
}

.testimony-text {
  font-family: 'Share Tech Mono', monospace;
  max-width: 70%;
  font-size: 20px;
  text-align: center;  
}

.testimony-info {
  font-weight: bold;
  text-align: center;
}

.testimony-info p {
  margin-bottom: 0
}

.testimony-info .client {
  font-size: 1.2rem;
}

.testimony-info .position{
  font-size: 0.9rem;
  color: #656060;
}


/*contact*/
.contact .container {
  max-width: 700px;
  /* min-height: 200px; */
  padding: 20px;
}

.contact .rectangle {
  margin-top: -5rem;
  background-color: rgb(13,110,253);
  border-radius: 10px;
  box-shadow: 0px 1px 4px 1px white;
}

.contact .row {
  width: 100%;
  display: flex;
  align-items: center;
}

.contact .description {
  color: white;
  font-size: 1.2rem;
}

.contact button {
  color: white;
  font-weight: bold;
  background-color: transparent;
  border: 2px solid white;
  padding: 1.25em 2em;
  margin: 10px;
  border-radius: 100px;
  transition: all 0.2s ease-in-out;
}

.contact button i {
  color: white;
  font-size: 1.3rem;
  transition: all 0.2s ease-in-out;
}

.contact button:hover {
  background-color: white;
  color: black;
}

.contact button:hover i{
  color: black;
}


/*footer*/
footer {
  min-height: 200px;  
}

.footer-logo {
  font-size: 2rem;
  margin: 10px;
  color: white;
}

.footer-text {
  font-size: 1.5rem;  
  padding: 20px;
  margin-bottom: 30px;
  font-family: 'Quicksand', sans-serif;
}

.social-networks-icons a{
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  margin: 10px;
  border: 2px solid white;
  border-radius: 50%;
  transition: all 0.2s ease-in;  
}

.social-networks-icons i{
  color: white;
  font-size: 1.5rem;
  transition: all 0.2s ease-in;
}

.social-networks-icons a:hover {
  background-color: white;
  border: 2px solid rgb(13,110,253);
}

.social-networks-icons a:hover i{
  color: black;
}

.footer .copyright{
  font-size: 15px;
  color: #aeaeae;
  padding: 20px;
}


/*responsive styles (media queries)*/
@media screen and (max-width: 767px){ /*do not show navbar-brand when in small devices (< 767px)*/
  .navbar-brand{
    display: none;
  }

  .hero-inferior-image{
    max-width: 60%;
    max-height: 60%;    
  }

  .certifications{
    margin-bottom: 20px;
    text-align: center;   
  }
  
  .project{ /* disable overlay effect */    
    display: none;
  } 
  
  .project-small-devices { /* show project info in small devices */ 
    display: block;
        
  }

  .project-small-devices i {
    font-size: 30px;
    color: black;
    margin-left: 20px;
    margin-bottom: auto;
  }

}

/*shrink testimony image and text when in small screens*/
/* @media screen and (max-width: 767px){ 
  .testimony-img {
    height: 80px;
    width: 80px;
  }
  
  .testimony-text {
    font-size: 15px;
  }
} */


