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

/* ------------------------ General--------------------------------- */

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

body {
  /* font-family: 'Lato', sans-serif; */
  font-family: 'Montserrat', sans-serif;
}

ul {
  list-style-type: none;
}

/* ------------------------ Navbar --------------------------------- */
.menu {
  height: 5rem;
  background-color: rgb(49, 49, 68);
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

.logo {
  font-size: 1.5rem;
  align-self: center;
}

.menu a {
  text-decoration: none;
  color: #ececec;
}

.menu-links {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 900;
}

.nav-item {
  margin-right: 1rem;
}

.container-home {
  height: 90vh;
  background-color: #21b6a8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #ececec;
  line-height: 2;
}

.title-container-home {
  font-weight: 900;
  font-size: 3rem;
}
.container-home img {
  width: 15%;
}

.container-center {
  width: 60%;
}

.container-services {
  margin: 10px;
}

.line {
  width: 80px;
  height: 1.5px;
  background: white;
  border: solid 1px white;
  display: inline-block;
  margin-right: 9px;
  margin-left: 9px;
}

.line-dark {
  width: 80px;
  height: 1.5px;
  background: gray;
  border: solid 1px gray;
  display: inline-block;
  margin-right: 9px;
  margin-left: 9px;
}

.line-start {
  display: flex;
  align-items: center;
  justify-content: center;
}

.services {
  color: white;
  font-family: 'Montserrat', sans-serif;
  font-weight: bolder;
}

/******************** SECCION PORTAFOLIO **********************/
.page-box {
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 25px;
}
.page-box .line-start {
  color: gray;
}

.title-portafolio {
  font-weight: bolder;
  text-align: center;
  color: gray;
  margin-top: 25px;
}

.page-img {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
  grid-auto-flow: row;
  grid-template-areas:
    'img-cabin img-cake img-circus'
    'img-game img-safe img-submarine';
  justify-items: stretch;
  justify-items: center;
  margin: 50px 100px 50px 100px;
}

img {
  object-fit: contain;
  width: 100%;
  height: 12.5rem;
}

/******************** ABOUT **********************/
.container-about {
  display: flex;
  flex-direction: column;
  background: #21b6a8;
  justify-content: center;
  align-items: center;
  color: aliceblue;
  padding: 80px;
  font-family: 'Montserrat', sans-serif;
}

.container-title {
  justify-content: center;
  text-align: center;
  color: white;
}

.about-column {
  display: flex;
  justify-content: center;
}

.text-column {
  display: inline-block;
  width: 320px;
  height: 200px;
  padding: 20px;
  font-size: 18px;
}

.button-download {
  line-height: 2px;
  border-radius: 4px;
  background: #21b6a8;
  color: white;
  padding: 10px;
  border: 2px solid white;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
}

/******************** CONTACT **********************/
.formLogin {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 20px;
}

.title-contact {
  font-weight: bolder;
  text-align: center;
  color: gray;
  margin: 25px;
}

.input-texto {
  background-color: rgb(255, 255, 255);
  display: block;
  line-height: 25px;
  padding: 10px;
  margin: 5px auto;
  border: 0;
  text-align: left;
  width: 300px;
  box-shadow: 0px 2.5px rgb(182, 177, 177);
}

.btn-texto {
  background-color: #21b6a8;
  border-radius: 5px;
  padding: 10px;
  margin: 80px auto;
  border: none;
  outline: none;
}

/******************** FOOTER **********************/
.container-footer{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
}

.iconWeb {
  padding: 20px 5px 0px 5px;
  font-size: 30px;
}

footer {
  width: 100%;
  background-color: rgb(49, 49, 68);
  color: white;
  font-weight: 400;
  font-size: 18px;
}
.containerFooter {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  justify-items: center;
  width: 100%;
}

.text-footer{
  text-align: center;
}
.sub-title{
  text-align: center;
  margin-bottom: 20px;
}
.colum1,
.colum2,
.colum3 {
  max-width: 350px;
  padding: 13px;
  margin: 30px;
}

.container-icons {
  text-align: center;
}
.design-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid white;
  width: 10px;
  height: 10px;
  padding: 10px;
  font-size: 14px;
}
.link-colum3 {
  text-decoration: none;
  color: #18bc9c;
  justify-content: space-around;
}

.copyright {
  padding: 20px;
  text-align: center;
}
