@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');


html, body {
  overflow-x: hidden; /* esconde qualquer vazamento horizontal */
}

body{
  overflow-x: hidden;
  color: #505962;
  font-family: 'Lato', sans-serif;
}

.offset:before {
  height: 6.5rem;
  margin-top: -6.5rem;
  content: "";
  display: block;
}

/*--- Navbar ---*/
.navbar{
  text-transform: uppercase;
  font-weight: 900;
  font-size: .9rem;
  letter-spacing: .1rem;
  background: rgba(122, 161, 245, 0.6);
}

.navbar-brand img{
  height: 5rem;
}

.navbar-nav li {
  padding-right: .7rem;
}

.navbar-dark .navbar-nav .nav-link {
  color: white;
  padding-top: 0.8rem;
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover {
  color: #2957a4; 
}

/*--- Slider ---*/

.carousel-item {
  height: 100vh;
  background-size: cover;
  background-position: center;
}

.carousel-caption {
  position: absolute;
  top: 38%;
  text-transform: uppercase;
  width: 100%;
  right: 0;
  left: 0;
}

.carousel-caption h1 {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
  text-shadow: .1rem .1rem .8rem black;
  padding-bottom: 1rem;
}

.carousel-caption h2 {
  font-size: 2rem;
  text-shadow: .1rem .1rem .5rem black;
  padding-bottom: 1.6rem;
}

.btn-lg {
  border-width: medium;
  border-radius: 0;
  font-size: 1.1rem;
}

/*============= SERVIÇOS SECTION =============*/

.card {
  margin: 2rem;
}

.card-img-top {
  width: 100%;
  height: 20rem;
  object-fit: cover;
}


/*============= CLIENTES SECTION =============*/

.jumbotron {
  border-radius: 0;
  padding: 3rem 0 2rem;
  margin-bottom: 0;
}

h3.heading {
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 1.9rem;
}

.heading-underline {
  width: 3rem;
  height: .2rem;
  background-color: #2957a4;
  margin: 0 auto 2rem;
}

.portfolio img {
  max-width: 100%;
  transition: transform .5s ease;
  
}

.row.no-padding [class*=col-] {
  padding: 0;
}

.portfolio img:hover {
  transform: scale(1.1);
  cursor: zoom-in;
}

.portfolio{
  overflow: hidden;
}


/*============= SOBRE SECTION =============*/

.narrow {
  width: 75%;
  margin: 0 auto;
  padding-top: 2rem;
}
.btn-md {
  border-width: medium;
  border-radius: 0;
  padding: .6rem 1.1rem;
  text-transform: uppercase;
  margin: 1rem;
}
.btn-secondary {
  border-width: medium;
  border-radius: 0;
  padding: .6rem 1.2rem;
  font-size: 1rem;
  text-transform: uppercase;
  margin: 1rem;
  border-color: #2957a4;
  background-color: #2957a4;
  color: white;
}
.btn-secondary:hover,
.btn-secondary:focus {
  border-color: #2957a4;
  background-color: white;
  color: #2957a4;
}

.img-fluid {
  height: 30rem;
  object-fit: cover;
}

.about-image img {
  max-width: 100%;
  transition: transform .5s ease;
}

.about-image img:hover {
  transform: scale(1.1);
  cursor: zoom-in;
}

.about-image{
  overflow: hidden;
}

.title-margin-top {
  margin-top: 3rem;
}

/*============= MAPA SECTION =============*/

.address-image img {
  max-width: 100%;
  transition: transform .5s ease;
}

.address-image img:hover {
  transform: scale(1.1);
  cursor: zoom-in;
}

.address-image{
  overflow: hidden;
}

/*============= CONTATO SECTION =============*/

footer {
  background-color: #40474e;
  color: white;
  padding: 2rem 0 3rem;
  margin-top: 1rem;
}

footer img {
  height: 3rem;
  margin: 1.5rem 0;
}

footer a {
  color: white;
}

footer svg.svg-inline--fa{
  font-size: 2.3rem;
  margin: 1.2rem 0.3rem 0 0;
}

footer svg.svg-inline--fa:hover{
  color: #2957a4;
}

hr.socket {
  border-top: .2rem solid #666b71;
  width: 100%;
}

/*============= MEDIA QUERIES SECTION =============*/

@media (max-width: 767px){
  .carousel-caption h1 {
    font-size: 2.3rem;
    letter-spacing: 0.15rem;
    padding-bottom: 0.5rem;
  }
  
  .carousel-caption h2 {
    font-size: 1.1rem;
    padding-bottom: 1.2rem;
  }
  
  .btn-lg {
    font-size: 1rem;
  }
}

  /*============ BOOTSTRAP BREAK POINTS:
  
  Extra small (xs) devices (portrait phones, less than 576px)
  No media query since this is the default in Bootstrap
  
  Small (sm) devices (landscape phones, 576px and up)
  @media (min-width: 576px) { ... }
  
  Medium (md) devices (tablets, 768px and up)
  @media (min-width: 768px) { ... }
  
  Large (lg) devices (desktops, 992px and up)
  @media (min-width: 992px) { ... }
  
  Extra (xl) large devices (large desktops, 1200px and up)
  @media (min-width: 1200px) { ... }
  
  =============*/