@font-face {
  font-family: 'Rockwell';
  src: url('fonts/Rockwell.woff2') format('woff2'),
      url('fonts/Rockwell.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pangram';
  src: url('fonts/Pangram-Regular.woff2') format('woff2'),
      url('fonts/Pangram-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham';
  src: url('fonts/Gotham-Book.woff2') format('woff2'),
      url('fonts/Gotham-Book.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bahnschrift';
  src: url('fonts/Bahnschrift.woff2') format('woff2'),
      url('fonts/Bahnschrift.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/*GENERAL*/

body {
  font-family: 'Pangram';
  font-weight: normal;
  font-style: normal;
  color: #58595B;
  overflow-x: hidden;
  background: #EAEAE6;
}

h1 {
  font-family: 'Bahnschrift';
  font-size: 70px;
  border-bottom: 2px solid #F26E5B;
  padding-bottom: 30px;
  color: #F26E5B;
  text-transform: uppercase;
  font-weight: 400;
}

h1 span {
  display: block;
}

h2 {
  font-family: 'Bahnschrift';
  color: #F26E5B;
  margin-bottom: 30px;
}

img {
  max-width: 100%;
}

a,
a:hover {
  color: inherit;
  text-decoration: none;
}

/*NAVBAR*/

.navbar-brand img {
  width: 180px;
}

.navbar-light .navbar-nav .nav-link {
  font-family: 'Gotham';
}

.navbar .catalogo {
  background: linear-gradient(90deg, #EF8F7A, #FFD16D);
  border-radius: 20px;
  font-weight: 600;
  padding: 0px 7px;
}

.navbar .catalogo a {
  color: #6B6AB1 !important;
}

.navbar .whatsapp {
  width: 180px;
  text-align: right;
}

.navbar .whatsapp i {
  background: #39B54A;
  color: white;
  border-radius: 20px;
  height: 40px;
  width: 40px;
  font-size: 21px;
  line-height: 25px;
  text-align: center;
  margin-left: 10px;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-top: 0.5rem;
}

.navbar .whatsapp a i {
  color: white;
}

.bg-light {
  background-color: #e9e8e4!important;
}

.dropdown-menu {
  background-color: #e9e8e4;
}

.dropdown-item:focus, .dropdown-item:hover {
  color: #e9e8e4;
  background-color: #f26e5c;
}

/*INICIO*/

#inicio {
  background: linear-gradient(rgb(234 234 230 / 25%),rgb(234 234 230 / 25%)), url(img/slide1.jpg);
  background-size: cover;
  background-position: left bottom;
  padding: 150px 0;
  min-height: 130vh;
  background-repeat: no-repeat;
}

#inicio .main-img {
  position: absolute;
  width: 27%;
  margin-top: -40px;
}

#inicio img {
  border-bottom: 2px solid #F26E5B;
  padding-bottom: 30px;
}

#inicio p {
  font-size: 1.7rem;
  margin-top: 20px !important;
  max-width: 851px;
  margin: 0 auto;
}

/*SERVICIOS*/

#servicios {
  padding: 90px 0;
}

#servicios h2::before {
  content: '';
  width: 15%;
  height: 2px;
  background: #B2B29D;
  position: absolute;
  margin-left: 280px;
  margin-top: 29px;
}

#servicios h3 {
  font-size: 20px;
  text-transform: uppercase;
}

#servicios p {
  font-size: 15px;
}

#servicios img {
  padding: 20px 20px;
  max-width: 120px;
}

#servicios .text {
  border-right: 2px solid #EE907B;
  padding: 0 20px;
  min-height: 100px;
}

/*PROYECTOS*/

#proyectos {
  padding: 90px 0;
}

#proyectos h2::before {
  content: '';
  width: 15%;
  height: 2px;
  background: #B2B29D;
  position: absolute;
  margin-left: 160px;
  margin-top: 29px;
}

#proyectos img {
  opacity: .5;
  cursor: pointer;
}

#proyectos img:hover {
  opacity: 1;
}

/**
 * BOX HACKING
 */

.masonry-wrapper {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.masonry {
  columns: 1;
  column-gap: 0px;
}
.masonry-item {
  display: inline-block;
  vertical-align: top;
}
@media only screen and (max-width: 1023px) and (min-width: 768px) {  .masonry {
    columns: 2;
  }
}
@media only screen and (min-width: 1024px) {
  .masonry {
    columns: 4;
  }
}
.masonry-item {
  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, .3));
  transition: filter .25s ease-in-out;
}
.masonry-item:hover {
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, .3));
}
.masonry-footer {
  font-size: .75em;
  opacity: .25;
  text-align: center;
  padding-top: 3em; 
  padding-bottom: 3em;
  margin-bottom: -1.5em;
  transition: opacity 1s ease-in-out;
}
.masonry-footer a {
  color: currentColor;
}
.masonry-footer:hover, .masonry-footer:active, .masonry-footer:focus {
  opacity: .75;
}

/*CLIENTES*/

#clientes {
  padding: 60px 0;
}

#clientes h2::before {
  content: '';
  width: 15%;
  height: 2px;
  background: #B2B29D;
  position: absolute;
  margin-left: 140px;
  margin-top: 29px;
}

#clientes img {
  filter: opacity(0.8);
}

/*CONTACTO*/

#contacto {
  padding: 60px 0;
}

#contacto input,
#contacto textarea {
  width: 100%;
  border: none;
  background: transparent;
  border-bottom: 2px solid #B2B29D;
  color: #244541;
  padding: 2px 10px;
  margin-bottom: 10px;
}

#contacto input[type="submit"] {
  background: transparent;
  color: #3FA98B;
  width: auto;
  padding: 5px 15px 5px;
  font-weight: 600;
  float: left;
  border: 2px solid #3FA98B;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #244541;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #244541;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #244541;
}
:-moz-placeholder { /* Firefox 18- */
  color: #244541;
}

#contacto .contact-info {
  text-align: right;
}

#contacto .contact-info p {
  font-size: 18px;
  line-height: 18px;
  margin: 0 0 10px 0;
}

#contacto .contact-info .tel {
  font-size: 30px;
  line-height: 30px;
}

#contacto .contact-info .social {
  background: white;
  color: #F6AE77;
  padding: 10px;
  height: 40px;
  width: 40px;
  display: inline-block;
  text-align: center;
  border-radius: 20px;
  font-size: 22px;
  line-height: 23px;
}

#contacto h2::before {
  content: '';
  width: 15%;
  height: 2px;
  background: #B2B29D;
  position: absolute;
  margin-left: 160px;
  margin-top: 29px;
}

#contacto h3 {
  color: #244541;
}

#contacto .dots {
  background: url(img/dots.png);
  background-size: contain;
  width: inherit;
  height: 460px;
  position: absolute;
  background-repeat: no-repeat;
}

/*FOOTER*/

footer {
  text-align: center;
  padding: 40px 20px;
  background: #244541;
  color: white;
}

footer .social a {
  padding: 0 20px;
}

footer .social a img {
  max-width: 40px;
}

.modal p {
  margin-top: 20px;
}

@media screen and (min-width: 601px) {
  .hide-lg {
    display: none;
  }
}

@media screen and (max-width: 600px) {
  
  h1 {
    font-size: 35px;
  }

  .navbar .catalogo {
    margin: 10px 0;
    padding: 0 19px;
  }

  #inicio {
    background-position: center top;
    min-height: auto;
    background: inherit;
    padding: 120px 20px 20px;
  }

  #inicio .main-img {
    position: initial;
    width: 100%;
    margin-top: 0;
  }

  #inicio .product {
    border-bottom: none;
  }

  #clientes h2::before,
  #contacto h2::before {
    margin-top: -22px;
  }

  #contacto .dots {
    display: none;
  }

  #servicios {
    padding-top: 20px;
  }

  #servicios .text {
    border-right: none;
  }
}