/* =========================================================
   MFEdespachante  Identidade Visual
   Azul profundo: #011935
   Azul corporativo: #005299
   Azul secundário: #3B8CC4
   Azul claro: #66A9D6
   Fundo claro: #EAF4FA
   Branco: #FFFFFF
   ========================================================= */

@import url(http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,600,700,300,800);


/*************************
*******Typography******
**************************/


body {
  background: #FFFFFF;
  font-family: "Open Sans", sans-serif;
  color:#011935;
  line-height: 22px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600; 
  font-family: "Open Sans", sans-serif;
  color:#005299;
}

h1{
  font-size: 36px;
  color:#fff;
}

h2{
  font-size: 20px;
}

h3{
  font-size: 16px;
  color: #787878;
  font-weight: 400;
  line-height: 24px;
}

h4{
  font-size: 16px;
}

h9{
  font-size: 20px;
  color:#fff;
}

a {
  color: #005299;
  -webkit-transition: color 300ms, background-color 300ms;
  -moz-transition: color 300ms, background-color 300ms;
  -o-transition:  color 300ms, background-color 300ms;
  transition:  color 300ms, background-color 300ms;
}

a:hover, a:focus {
  color: #0B73C5;
}

hr {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #fff;
}


.btn-primary {
  padding: 8px 20px;
  background: #005299;
  color: #fff;
  border-radius: 4px;
  border:none;
  margin-top: 10px;
}


.btn-primary:hover, 
.btn-primary:focus{
  background: #005299;
  outline: none;
  box-shadow: none;
} 

.btn-transparent {
  border: 3px solid #fff;
  background: transparent;
  color: #fff;
}

.btn-transparent:hover {
  border-color: rgba(255, 255, 255, 0.5);
}

a:hover,
a:focus {
  color: #111;
  text-decoration: none;
  outline: none;
}

.dropdown-menu {
  margin-top: -1px;
  min-width: 180px;
}

.center h2{
  font-size: 36px;
  margin-top: 0;
  margin-bottom: 20px;
}

.media>.pull-left{
  margin-right: 20px;
}

.media>.pull-right{
  margin-left: 20px;
}

body > section {
  padding: 70px 0;
}

.center {
  text-align: center;
  padding-bottom: 55px;
}

.scaleIn {
  -webkit-animation-name: scaleIn;
  animation-name: scaleIn;
}

.lead{
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.transparent-bg {
  background-color: transparent !important;
  margin-bottom: 0;
}

@-webkit-keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}


/*************************
*******Header******
**************************/

#header .search{
  display: inline-block;
}

.navbar>.container .navbar-brand{
  margin-left: 0;
}

.top-bar {
  padding: 10px 0;
  background: #191919;
  border-bottom: 1px solid #222;
  line-height: 28px;
}

.top-number{
  color: #fff;
}

.top-number p{
  margin: 0
}

.social{
  text-align: right;
}

.social-share{
 display: inline-block;
 list-style: none;
 padding: 0;
 margin: 0;
}

ul.social-share li {
  display: inline-block;
}

ul.social-share li a {
  display: inline-block;
  color: #fff;
  background: #011935;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 2px;
}

ul.social-share li a:hover {
  background: #005299;
  color: #fff;
}

.search i {
  color: #fff;
}

input.search-form{
  background: transparent;
  border: 0 none;
  width: 60px;
  padding: 0 10px;
  color: #FFF;
  -webkit-transition: all 400ms;
  -moz-transition: all 400ms;
  -ms-transition: all 400ms;
  -o-transition: all 400ms;
  transition: all 400ms;
}

input.search-form::-webkit-input-placeholder{
  color: transparent;
}

input.search-form:hover::-webkit-input-placeholder {
  color: #fff;
}

input.search-form:hover {
  width: 180px;
}

.navbar-brand {
  padding: 0;
  margin:0;
}

.navbar {
  border-radius: 0;
  margin-bottom: 0;
  background: #011935;
  padding: 15px 0 0;
  background-image: url("../images/fondobg.png");
}

.navbar-nav {
  margin-top: 8px;
}

.navbar-nav > li {
  margin-left: 15px;
  padding-bottom: 15px;
}

.navbar-inverse .navbar-nav > li > a {
  position: relative;
  padding: 10px 15px;
  margin: 0;
  border-radius: 6px;
  color: #fff;
  line-height: 24px;
  display: inline-block;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

.navbar-inverse .navbar-nav > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 0;
  height: 2px;
  background: #3B8CC4;
  border-radius: 2px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transition: width 0.3s ease;
  -webkit-transition: width 0.3s ease;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  background-color: rgba(0, 112, 194, 0.75);
  color: #fff;
  transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
}

.navbar-inverse .navbar-nav > li > a:hover::after,
.navbar-inverse .navbar-nav > li > a:focus::after {
  width: 55%;
}

.navbar-inverse {
  border: none;
}

.navbar-inverse .navbar-brand {
  font-size: 36px;
  line-height: 50px;
  color: #fff;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: rgba(0, 112, 194, 0.85);
  color: #fff;
}

.navbar-inverse .navbar-nav > .active > a::after {
  width: 55%;
}

.navbar-inverse .navbar-nav .dropdown-menu {
  background-color: rgba(0,0,0,.85);
  -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
  border: 0;
  padding: 0;
  margin-top: 0;
  border-top: 0;
  border-radius: 0;
  left: 0;
}

.navbar-inverse .navbar-nav .dropdown-menu:before{
  position: absolute;
  top:0;
}

.navbar-inverse .navbar-nav .dropdown-menu > li > a {
  padding: 8px 15px;
  color: #fff;
}

.navbar-inverse .navbar-nav .dropdown-menu > li:hover > a,
.navbar-inverse .navbar-nav .dropdown-menu > li:focus > a,
.navbar-inverse .navbar-nav .dropdown-menu > li.active > a {
  background-color: #005299;
  color: #fff;
}

.navbar-inverse .navbar-nav .dropdown-menu > li:last-child > a {
  border-radius: 0 0 3px 3px;
}

.navbar-inverse .navbar-nav .dropdown-menu > li.divider {
  background-color: transparent;
}

.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-top: 0;
  padding-bottom: 0;
}


/*************************
*******Home Page******
**************************/


#main-slider .carousel h1 {
  color: #fff;
  font-size: 46px;
  line-height: 1.15;
  font-weight: 700;
  margin-bottom: 0;
  text-shadow: 2px 2px 5px rgba(0,0,0,0.75);
}

.no-margin {
  margin: 0;
  padding: 0;
}

#main-slider .carousel .carousel-content {
  margin-top: 30px;
}

#main-slider .carousel .slide-margin{
  margin-top: 30px;
}

#main-slider .carousel h2 {
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 12px;
  margin-bottom: 0;
  max-width: 650px;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.75);
}

#main-slider .carousel h1 {
  color: #fff;
  text-shadow: 2px 2px black;
}

#main-slider .carousel .btn-slide {
  padding: 8px 20px;
  background: #005299;
  color: #fff;
  border-radius: 4px;
  margin-top: 25px;
  display: inline-block;
}

#main-slider .carousel .slider-img{
  text-align: right;
  position: absolute;
}


#main-slider .carousel .item {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  left: 0 !important;
  opacity: 0;
  top: 0;
  position: absolute;
  width: 100%;
  display: block !important;
  height: 600px;
  -webkit-transition: opacity ease-in-out 500ms;
  -moz-transition: opacity ease-in-out 500ms;
  -o-transition: opacity ease-in-out 500ms;
  transition: opacity ease-in-out 500ms;
}

#main-slider .carousel .item:first-child {
  top: auto;
  position: relative;
}

#main-slider .carousel .item.active {
  opacity: 1;
  -webkit-transition: opacity ease-in-out 500ms;
  -moz-transition: opacity ease-in-out 500ms;
  -o-transition: opacity ease-in-out 500ms;
  transition: opacity ease-in-out 500ms;
  z-index: 1;
}

/* =====================================================
   SLIDER - NAVEGAÇÃO MODERNA
   ===================================================== */

#main-slider .prev,
#main-slider .next {
  position: absolute;
  top: 50%;
  margin-top: -24px;
  width: 48px;
  height: 48px;
  line-height: 44px;
  text-align: center;
  border: 1px solid rgba(255,255,255,0.65);
  border-radius: 50%;
  background: rgba(1,25,53,0.28);
  color: #fff;
  z-index: 5;
  opacity: 0;
  font-size: 32px;
  font-weight: 300;
  text-decoration: none;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

#main-slider:hover .prev,
#main-slider:hover .next,
#main-slider .prev:focus,
#main-slider .next:focus {
  opacity: 1;
}

#main-slider .prev:hover,
#main-slider .next:hover {
  background: #005299;
  border-color: #005299;
  color: #fff;
  transform: scale(1.08);
  -webkit-transform: scale(1.08);
}

#main-slider .prev {
  left: 24px;
}

#main-slider .next {
  right: 24px;
}

/* Indicadores em formato de barras */
#main-slider .carousel-indicators {
  bottom: 26px;
  margin-bottom: 0;
  text-align: center;
  z-index: 5;
}

#main-slider .carousel-indicators li {
  width: 42px;
  height: 8px;
  margin: 0 8px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: rgba(255,255,255,0.62);
  opacity: 1;
  vertical-align: middle;
  transition: all 0.35s ease;
  -webkit-transition: all 0.35s ease;
}

#main-slider .carousel-indicators li:hover {
  background: #fff;
  cursor: pointer;
}

#main-slider .carousel-indicators .active {
  width: 68px;
  height: 8px;
  margin: 0 8px;
  border: 0;
  border-radius: 4px;
  background: #66A9D6;
  box-shadow: 0 0 8px rgba(102,169,214,0.45);
}

#main-slider .carousel-indicators .active:hover {
  background: #66A9D6;
}

#main-slider .active .animation.animated-item-1 {
  -webkit-animation: fadeInUp 300ms linear 300ms both;
  -moz-animation: fadeInUp 300ms linear 300ms both;
  -o-animation: fadeInUp 300ms linear 300ms both;
  -ms-animation: fadeInUp 300ms linear 300ms both;
  animation: fadeInUp 300ms linear 300ms both;
}

#main-slider .active .animation.animated-item-2 {
  -webkit-animation: fadeInUp 300ms linear 600ms both;
  -moz-animation: fadeInUp 300ms linear 600ms both;
  -o-animation: fadeInUp 300ms linear 600ms both;
  -ms-animation: fadeInUp 300ms linear 600ms both;
  animation: fadeInUp 300ms linear 600ms both;
}

#main-slider .active .animation.animated-item-3 {
  -webkit-animation: fadeInUp 300ms linear 900ms both;
  -moz-animation: fadeInUp 300ms linear 900ms both;
  -o-animation: fadeInUp 300ms linear 900ms both;
  -ms-animation: fadeInUp 300ms linear 900ms both;
  animation: fadeInUp 300ms linear 900ms both;
}

#main-slider .active .animation.animated-item-4 {
  -webkit-animation: fadeInUp 300ms linear 1200ms both;
  -moz-animation: fadeInUp 300ms linear 1200ms both;
  -o-animation: fadeInUp 300ms linear 1200ms both;
  -ms-animation: fadeInUp 300ms linear 1200ms both;
  animation: fadeInUp 300ms linear 1200ms both;
}

#feature {
  background: #f2f2f2;
  padding-bottom: 40px;
}

.features{
  padding: 0;
}

.feature-wrap {
  margin-bottom: 35px;
  overflow: hidden;
}

.feature-wrap h2{
  margin-top: 10px;
}

.feature-wrap .pull-left {
  margin-right: 25px;
}

.feature-wrap i{
  font-size: 48px;
  height: 110px;
  width: 110px;
  margin: 3px;
  border-radius: 100%;
  line-height: 110px;
  text-align:center;
  background: #fff;
  color: #005299;
  border: 3px solid #ffffff;
  box-shadow: inset 0 0 0 5px #f2f2f2;
  -webkit-box-shadow: inset 0 0 0 5px #f2f2f2;
  -webkit-transition: 500ms;
  -moz-transition: 500ms;
  -o-transition: 500ms;
  transition: 500ms;
  float: left;
  margin-right: 25px;
}

.feature-wrap i:hover {
  background: #005299;
  color: #fff;
  box-shadow: inset 0 0 0 5px #005299;
  -webkit-box-shadow: inset 0 0 0 5px #005299;
  border: 3px solid #005299;
}

#recent-works .col-xs-12.col-sm-4.col-md-3{
  padding: 0;
}

#recent-works{
    padding-bottom: 70px;
}

.recent-work-wrap {
  position: relative;
}

.recent-work-wrap img{
  width: 100%;
}

.recent-work-wrap .recent-work-inner{
  top: 0;
  background: transparent;
  opacity: .8;
  width: 100%;
  border-radius: 0;
  margin-bottom: 0;
}

.recent-work-wrap .recent-work-inner h3{
  margin: 10px 0;
}

.recent-work-wrap .recent-work-inner h3 a{
  font-size: 24px;
  color: #fff;
}

.recent-work-wrap .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: 0;
  background: #005299;
  color: #fff;
  vertical-align: middle;
  -webkit-transition: opacity 500ms;
  -moz-transition: opacity 500ms;
  -o-transition: opacity 500ms;
  transition: opacity 500ms;  
  padding: 30px;
}

.recent-work-wrap .overlay .preview {
  bottom: 0;
  display: inline-block;
  height: 35px;
  line-height: 35px;
  border-radius: 0;
  background: transparent;
  text-align: center;
  color: #fff;
}

.recent-work-wrap:hover .overlay {
  opacity: 1;
}

#services {
  background: #000 url(../images/services/bg_services.png);
  background-size: cover;
}

#services .lead,
#services h2{
  color: #fff;
}

.services-wrap {
  padding: 40px 30px;
  background: #fff;
  border-radius: 4px;
  margin: 0 0 40px;
}

.services-wrap h3 {
  font-size: 20px;
  margin: 10px 0;
}

.services-wrap .pull-left {
  margin-right: 20px;
}

#middle {
  background: #f2f2f2;
}

.skill h2{
  margin-bottom: 25px;
}

.progress-wrap{
  position: relative;
}

.progress .color1,
.progress .color1 .bar-width{
  background: #005299;
}

.progress .color2,
.progress .color2 .bar-width{
  background: #3B8CC4;
}

.progress .color3,
.progress .color3 .bar-width{
  background: #66A9D6;
}

.progress .color4,
.progress .color4 .bar-width{
  background: #005299;
}

.progress, 
.progress-bar {
  height: 15px;
  line-height: 15px;
  background: #e6e6e6;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  text-align: right;
}

.progress{
  position: relative;
}

.progress .bar-width{
  position: absolute;
  width: 40px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  top: -30px;
  border-radius: 2px;
  margin-left: -30px;
}

.progress span{
  position: relative;
}

.progress span:before{
  content: " ";
  position: absolute;
  width: auto;
  height: auto;
  border-width: 8px 5px;
  border-style: solid;
  bottom: -15px;
  right: 8px;
}

.progress .color1 span:before{
  border-color: #005299 transparent transparent transparent;
}

.progress .color2 span:before{
  border-color: #3B8CC4 transparent transparent transparent;
}

.progress .color3 span:before{
  border-color: #66A9D6 transparent transparent transparent;
}

.progress .color4 span:before{
  border-color: #005299 transparent transparent transparent;
}

.accordion h2{
  margin-bottom: 25px;
}

.panel-default{
  border-color: transparent;
}

.panel-default>.panel-heading,
.panel{
  background-color: #e6e6e6; 
  border:0 none;
  box-shadow:none;
}

.panel-default>.panel-heading+.panel-collapse .panel-body{
  background: #fff;
  color: #858586;
}

.panel-body{
  padding: 20px 20px 10px;
}

.panel-group .panel+.panel{
  margin-top: 0;
  border-top: 1px solid #d9d9d9;
}

.panel-group .panel{
  border-radius: 0;
}

.panel-heading{
  border-radius: 0;
}

.panel-title>a{
  color: #4e4e4e;
}

.accordion-inner img{
  border-radius: 4px;
}

.accordion-inner h4{
  margin-top: 0;
}

.panel-heading.active{
  background: #1f1f20;
}

.panel-heading.active .panel-title>a{
  color:#fff;
}

a.accordion-toggle  i{
  width: 45px;
  line-height: 44px;
  font-size: 20px;
  margin-top: -10px;
  text-align: center;
  margin-right: -15px;
  background: #c9c9c9;
}

.panel-heading.active a.accordion-toggle i{
  background: #005299;
  color: #fff;
}

.panel-heading.active a.accordion-toggle.collapsed i{
  background: #005299;
  color: #fff;
}

.nav-tabs>li{
  margin-bottom: 0px;
  border-bottom: 1px solid #e6e6e6;
}

.nav-tabs{
  border-bottom: transparent;
  border-right: 1px solid #e6e6e6;
}

.nav-tabs>li>a {
  background: #f5f5f5;
  color: #666;
  border-radius: 0;
  border: 0 none;
  line-height: 24px;
  margin-right:0;
  padding: 13px 15px;
}

.nav-tabs li:last-child{
  border-bottom: 0 none;
} 

.nav-stacked>li+li{
  margin-top: 0;
}

.nav-tabs>li>a:hover{
  background: #1f1f20;
  color:#fff;
}

.nav-tabs>li.active>a, 
.nav-tabs>li.active>a:hover, 
.nav-tabs>li.active>a:focus {
  border: 0;
  color:#fff;
  background: #1f1f20;
  position: relative;
}

.nav-tabs>li.active>a:after {
  position: absolute;
  content:  "";
  width: auto;
  height: auto;
  border-style:solid;
  border-color: transparent transparent transparent #1f1f20;
  border-width: 25px 22px;
  right: -44px;
  top:0;
}

.tab-wrap{
  border:1px solid #e6e6e6;
  margin-bottom: 20px;
}

.tab-content{
  padding: 20px;
}

.tab-content h2{
  margin-top: 0;
}

.tab-content img{
  border-radius: 4px;
}

.testimonial h2{
  margin-top: 0;
}

.testimonial-inner {
  color:#858586;
  font-size: 14px;
}

.testimonial-inner .pull-left{
  border-right: 1px solid #e7e7e7;
  padding-right: 15px;
  position: relative;
}

.testimonial-inner .pull-left:after{
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  top: 50%;
  margin-top: -5px;
  background: #FFF;
  -webkit-transform: rotate(45deg);
  border: 1px solid #e7e7e7;
  right: -5px;
  border-left: 0 none;
  border-bottom: 0 none;
}

#partner {
  background: url(../images/partners/partner_bg.png) 50% 50% no-repeat;
  background-size: cover;
}

#partner {
  color: #fff;
  text-align: center;
}

#partner h2, 
#partner h3 {
  color: #fff;
}

.partners ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.partners ul li{
  display: inline-block;
  float: left;
  width: 20%;
}

#conatcat-info{
  background: #fff url(../images/contact.png) no-repeat 90% 0;
  padding: 30px 0;
}

.contact-info i{
  width: 60px;
  height: 60px;
  font-size: 40px;
  line-height: 60px;
  color: #fff;
  background: #000;
  text-align: center;
  border-radius: 10px;
}

.contact-info h2{
  margin-top: 0;
  color: #000;
}

.contact-info{
  color:#000;
}

/*************************
********* About Us Page CSS ******
**************************/

.about-us {
  margin-top: 110px;
  margin-bottom: -110px;
}

.about-us h2, 
.skill_text h2 {
  color:#4e4e4e;
  font-size: 30px;
  font-weight: 600;
}

.about-us p {
  color:#4e4e4e;
}

#carousel-slider {
  position: relative;
}

#carousel-slider .carousel-indicators {
  bottom: -25px;
}

#carousel-slider .carousel-indicators li {
  border: 1px solid #ffbd20;
}

#carousel-slider a i {
  border: 1px solid #777;
  border-radius:50%;
  font-size: 28px;
  height: 50px;
  padding: 8px;
  position: absolute;
  top: 50%;
  width: 50px;
  color:#777;
}

#carousel-slider a i:hover {
  background:#bfbfbf;
  color:#fff;
  border: 1px solid #bfbfbf;
}

#carousel-slider 
.carousel-control {
  width:inherit;
}

#carousel-slider .carousel-control.left i {
  left:-15px
}

#carousel-slider .carousel-control.right i {
  right: -15px;
}

#carousel-slider
.carousel-control.left, 
#carousel-slider
.carousel-control.right {
  background: none;
}

.skill_text {
  display: block;
  margin-bottom: 60px;
  margin-top: 25px;
  overflow: hidden;
}

.sinlge-skill {
  background:#f2f2f2;
  border-radius: 100%;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: bold;
  height: 200px;
  position: relative;
  width: 200px;
  text-transform: uppercase;
  overflow: hidden;
  margin: 30px 0;

}

.sinlge-skill p em {
  color: #FFFFFF;
  font-size: 38px;
}

.sinlge-skill p {
  line-height: 1;
}

.joomla-skill, 
.html-skill, 
.css-skill, 
.wp-skill {
  position: absolute;
  height: 100%;
  bottom: 0;
  width:100%;
  border-radius: 100%;
  padding: 70px 0;
  text-align: center;
}


.joomla-skill {
  background: rgb(242,242,242); /* Old browsers */
  background: -moz-linear-gradient(top, rgba(242,242,242,1) 0%, rgba(242,242,242,1) 28%, rgba(45,125,164,1) 28%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,242,242,1)), color-stop(28%,rgba(242,242,242,1)), color-stop(28%,rgba(45,125,164,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 28%,rgba(45,125,164,1) 28%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 28%,rgba(45,125,164,1) 28%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 28%,rgba(45,125,164,1) 28%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 28%,rgba(45,125,164,1) 28%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f2f2f2", endColorstr="#005299",GradientType=0 ); /* IE6-9 */    
}

.html-skill {
  background: rgb(242,242,242); /* Old browsers */
  background: -moz-linear-gradient(top, rgba(242,242,242,1) 0%, rgba(242,242,242,1) 9%, rgba(106,164,47,1) 9%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,242,242,1)), color-stop(9%,rgba(242,242,242,1)), color-stop(9%,rgba(106,164,47,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 9%,rgba(106,164,47,1) 9%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 9%,rgba(106,164,47,1) 9%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 9%,rgba(106,164,47,1) 9%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 9%,rgba(106,164,47,1) 9%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f2f2f2", endColorstr="#3B8CC4",GradientType=0 ); /* IE6-9 */
}

.css-skill {
  background: rgb(242,242,242); /* Old browsers */
  background: -moz-linear-gradient(top, rgba(242,242,242,1) 0%, rgba(242,242,242,1) 32%, rgba(255,189,32,1) 32%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,242,242,1)), color-stop(32%,rgba(242,242,242,1)), color-stop(32%,rgba(255,189,32,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 32%,rgba(255,189,32,1) 32%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 32%,rgba(255,189,32,1) 32%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 32%,rgba(255,189,32,1) 32%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 32%,rgba(255,189,32,1) 32%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f2f2f2", endColorstr="#ffbd20",GradientType=0 ); /* IE6-9 */
}

.wp-skill {
  background: rgb(242,242,242); /* Old browsers */
  background: -moz-linear-gradient(top, rgba(242,242,242,1) 0%, rgba(242,242,242,1) 19%, rgba(219,54,21,1) 19%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,242,242,1)), color-stop(19%,rgba(242,242,242,1)), color-stop(19%,rgba(219,54,21,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 19%,rgba(219,54,21,1) 19%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 19%,rgba(219,54,21,1) 19%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 19%,rgba(219,54,21,1) 19%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(242,242,242,1) 0%,rgba(242,242,242,1) 19%,rgba(219,54,21,1) 19%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f2f2f2", endColorstr="#005299",GradientType=0 ); /* IE6-9 */
}

.skill-wrap {
  display: block;
  overflow: hidden;
  margin: 60px 0;
}

.team h4 {
  margin-top: 0;
  text-transform: uppercase;
}

.team h5 {
  font-weight: 300;
}

.single-profile-top, 
.single-profile-bottom {
  font-weight: 400;
  line-height: 24px;
}

.single-profile-top, 
.single-profile-bottom  {
  border: 1px solid #ddd;
  padding: 15px;
  position: relative;
}

.media_image {
  margin-bottom: 10px;
}

.team .btn {
  background:transparent;
  font-size: 12px;
  font-weight: 300;
  margin-bottom: 3px;
  padding: 1px 5px;
  text-transform: uppercase;
  border:1px solid#ddd;
  margin-right: 3px;
}


ul.social_icons,
ul.tag {
  list-style: none;
  padding: 0;
  margin: 10px 0;
  display: block;
}

ul.social_icons li,
ul.tag li {
  display: inline-block;
  margin-right: 5px;
}

ul.social_icons li  a i{
  border-radius: 50%;
  color: #FFFFFF;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
  padding: 0;
  text-align: center;
  width: 25px;
  opacity:.8;
}


.team .social_icons .fa-facebook:hover, 
.team .social_icons .fa-twitter:hover, 
.team .social_icons .fa-google-plus:hover {
  transform: rotate(360deg);
  -ms-transform:rotate(360deg);
  -webkit-transform:rotate(360deg); 
  transition-duration:2s;
  transition-property: all;
  transition-timing-function: ease;
  opacity:1;
  transition: all 0.9s ease 0s;
  -moz-transition: all 0.9s ease 0s;
  -webkit-transition: all 0.9s ease 0s;
  -o-transition: all 0.9s ease 0s;
}

.team .social_icons .fa-facebook {
  background: #005299;
}

.team .social_icons .fa-twitter {
  background: #3B8CC4
}

.team .social_icons .fa-google-plus {
  background: #005299
}


.team-bar .first-one-arrow {
  float: left;
  margin-right: 30px;
  width: 2%;
}

.team-bar .first-arrow {
  float: left;
  margin-left: 5px;
  margin-right: 35px;
  width: 22%;
}

.team-bar .second-arrow {
  float: left;
  margin-left: 5px;
  width: 21%;
}

.team-bar .third-arrow {
  float: left;
  margin-left: 40px;
  margin-right: 12px;
  width: 22%;
}

.team-bar .fourth-arrow {
  float: left;
  margin-left: 25px;
  width: 20%;
}

.team-bar .first-one-arrow hr {
  border-bottom: 1px solid #005299;
  border-top: 1px solid #005299;
 }

.team-bar .first-arrow hr {
  border-bottom: 1px solid #005299;
  border-top: 1px solid #005299;
 }

.team-bar .second-arrow hr {
  border-bottom: 1px solid #3B8CC4;
  border-top: 1px solid #3B8CC4;
}

.team-bar .third-arrow hr {
  border-bottom: 1px solid #66A9D6;
  border-top: 1px solid #66A9D6;

}

.team-bar .fourth-arrow hr {
  border-bottom: 1px solid #005299;
  border-top: 1px solid #005299;
}

.team-bar {
  margin-bottom: 15px;
  margin-top: 30px;
  position: relative;
}

.team-bar i {
  border-radius: 50%;
  color: #FFFFFF;
  display: block;
  height: 24px;
  line-height: 24px;
  margin-top: -32px;
  overflow: hidden;
  padding: 0;
  text-align: center;
  width: 24px;
  position: absolute;
}

.team-bar .first-arrow .fa-angle-up {
  background:#005299;
  margin-left:-33px
 }

.team-bar .second-arrow .fa-angle-down {
  background:#3B8CC4;
  margin-left: -33px;
}

.team-bar .third-arrow .fa-angle-up {
  background:#66A9D6;
  margin-left: -32px;
}

.team-bar .fourth-arrow .fa-angle-down {
  background:#005299;
  margin-left: -32px;
}

.team .single-profile-top:before, 
.team .single-profile-top:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
}

.team .single-profile-top:before {
  left:26px;
  bottom: -20px;
  border-width: 10px;
  border-color:#fff transparent transparent transparent;
  z-index: 1;
}


.team .single-profile-top:after {
  left: 25px;
  bottom: -22px;
  border-style: solid;
  border-width: 11px;
  border-color:#ddd transparent transparent transparent;
  z-index: 0;
}

.team .single-profile-bottom:before,
.team .single-profile-bottom:after {
  position: absolute;
  content:"";
  width: 0;
  height: 0;
  border-style: solid;
}

.team .single-profile-bottom:before {
  left:30px;
  top: -20px;
  border-width: 10px;
  border-color: transparent transparent #fff transparent;
  z-index: 1;
}

.team .single-profile-bottom:after {
  left: 29px;
  top: -22px;
  border-style: solid;
  border-width: 11px;
  border-color: transparent transparent #DDD transparent;
  z-index: 0;
}

/***********************
****Service page css****
***********************/

.services {
  padding: 0;
}

.get-started {
  background: none repeat scroll 0 0 #C9C9C9;
  border-radius: 3px;
  padding-bottom: 30px;
  position: relative;
  margin-bottom: 18px;
  margin-top: 60px;
}

.get-started h2 {
  padding-top: 30px;
  margin-bottom: 20px;
}

.request {
  bottom: -15px;
  left: 50%;
  position: absolute;
  margin-left: -110px;
}

.request h4 {
  position: absolute;
  width: 220px;
  position:relative;
}

.request h4 a{
  background:#005299;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  border-radius: 3px;
  padding: 5px 20px;
}

.request h4:after {
  border-color: #005299 transparent transparent;
  border-style: solid;
  border-width: 12px;
  bottom: -18px;
  content: "";
  height: 0;
  position: absolute;
  right: 13px;
  z-index: -99999;
}

.request h4:before {
  border-color: #005299 transparent transparent;
  border-style: solid;
  border-width: 12px;
  bottom: -18px;
  content: "";
  height: 0;
  left: 13px;
  position: absolute;
  z-index: -99999;
}

.clients-area {
  padding: 60px;
}

.clients-comments {
    background-image: url("../images/image_bg.png");
    background-position: center 118px;
    background-repeat: no-repeat;
    margin-bottom: 100px;
}

.clients-comments img {
  background:#DDDDDD;
  border: 1px solid #DDDDDD;
  height: 182px;
  padding: 3px;
  width: 182px;
  transition: all 0.9s ease 0s;
  -moz-transition: all 0.9s ease 0s;
  -webkit-transition: all 0.9s ease 0s;
  -o-transition: all 0.9s ease 0s;
}

.clients-comments h3 {
  margin-top: 55px;
  font-weight: 300;
  padding: 0 40px;
}

.clients-comments h4 {
  font-weight: 300;
  margin-top: 15px;
}


.clients-comments  h4  span {
  font-weight: 700;
  font-style: oblique;
}

.footer {
  background: none repeat scroll 0 0 #2E2E2E;
  border-top: 5px solid #005299;
  height: 84px;
  margin-top: 110px;
}

.footer_left {
  padding: 10px;
}

.text-left {
  color: #FFFFFF;
  font-size: 12px;
  margin-top: 15px;
}

/*************************
********* Portfolio CSS ******
**************************/

#portfolio_page {
  margin-top: 115px;
  padding-bottom: 0;
}

.portfolio-items, 
.portfolio-filter {
  list-style: none outside none;
  margin: 0 0 40px 0;
  padding: 0;
}

.portfolio-filter > li {
  display: inline-block;
}

.portfolio-filter > li a {
  background: none repeat scroll 0 0 #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  margin-right: 20px;
  text-transform: uppercase;
  transition: all 0.9s ease 0s;
  -moz-transition: all 0.9s ease 0s;
  -webkit-transition: all 0.9s ease 0s;
  -o-transition: all 0.9s ease 0s;
  border: 1px solid #F2F2F2;
  outline: none;
  border-radius: 3px;
}

.portfolio-filter > li a:hover,
.portfolio-filter > li a.active{
  color:#fff;
  background: #005299;
  border: 1px solid #005299;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.portfolio-items > li {
  float: left;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.portfolio-item {
  margin: 0;
  padding:0;
}

/* Start: Recommended Isotope styles */
/**** Isotope Filtering ****/
.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -ms-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
  -moz-transition-property: height, width;
  -ms-transition-property: height, width;
  -o-transition-property: height, width;
  transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
}

/**** disabling Isotope CSS3 transitions ****/
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
  -moz-transition-duration: 0s;
  -ms-transition-duration: 0s;
  -o-transition-duration: 0s;
  transition-duration: 0s;
}

/* End: Recommended Isotope styles */
/* disable CSS transitions for containers with infinite scrolling*/
.isotope.infinite-scrolling {
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}


/**************************
********* Pricing Table CSS *
**************************/

.pricing_heading {
  margin-top: 120px
}

.pricing_heading h2, 
.pricing_heading p {
  color:#4e4e4e;
}

.pricing-area h1 {
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 15px;
}

.pricing-area span {
  font-weight: 700;
  font-size: 18px;
}

.pricing-area h3, 
.pricing-area span  {
  color: #fff;
}

.plan {
  position: relative;
  margin-bottom: 70px;
}

.pricing-area ul {
  background:#FAFAFA;
  padding: 0;
  margin: 0;
}

.pricing-area ul li {
  list-style: none;
  padding: 15px 0;
  font-size: 16px;
  font-weight: 400;
}

.pricing-area ul li:nth-child(even){
  background:#f5f5f5
}

.pricing-area .price-three img, 
.pricing-area .price-six img {
  position: absolute;
  right: 15px;
  top: 0;
}

.pricing-area .heading-one, 
.pricing-area .heading-two, 
.pricing-area .heading-three {
  padding:17px 0;
  border-radius:2px 2px 0 0;
} 

.pricing-area .heading-one, 
.pricing-area .heading-two, 
.pricing-area .heading-three, 
.pricing-area .heading-four, 
.pricing-area .heading-five, 
.pricing-area .heading-six, 
.pricing-area .heading-seven {
  margin-left: -10px
}


.pricing-area .heading-one, 
.pricing-area .price-one .plan-action .btn-primary {
  background: #005299
}

.pricing-area .heading-two, 
.pricing-area .price-two .plan-action .btn-primary {
  background:#C0C0C0;
}

.pricing-area .heading-three,
.pricing-area .price-three .plan-action .btn-primary {
  background: #3B8CC4;
}

.pricing-area .heading-four, 
.pricing-area .price-four .plan-action .btn-primary {
  background: #5c5c5c
}

.pricing-area .heading-five, 
.pricing-area .price-five .plan-action .btn-primary {
  background: #5c5c5c
}

.pricing-area .heading-six, 
.pricing-area .price-six .plan-action .btn-primary {
  background: #005299
;
}

.pricing-area .heading-seven, 
.pricing-area .price-seven .plan-action .btn-primary {
  background: #5c5c5c
}

.pricing-area .bg{
 background: #fafafa 
}

.pricing-area .heading-one h3:before {
  border-color: #005299 transparent transparent;
}

.pricing-area .heading-two h3:before {
  border-color: #C0C0C0 transparent transparent;
}

.pricing-area .heading-three h3:before {
  border-color: #3B8CC4 transparent transparent;
}

.pricing-area .heading-four h3:before {
  border-color: #424242 transparent transparent;
}

.pricing-area .heading-five h3:before {
  border-color: #424242 transparent transparent;
}

.pricing-area .heading-six h3:before {
  border-color: #005299 transparent transparent;
}

.pricing-area .heading-seven h3:before {
  border-color: #424242 transparent transparent;
}

.pricing-area h3:before {
  border-color: #3B8CC4 transparent transparent;
  border-radius: 5px 0 0 0px;
  border-style: solid;
  border-width: 12px;
  content: "";
  height: 0;
  left: 4px;
  position: absolute;
  top: 78px;
  width: 0;
  z-index: -999;
}

.small-pricing h3:after {
  height:94px;
}

.small-pricing h3:before {
  top: 74px;
}

.plan-action {
  height: 40px;
}

.pricing-area .plan-action .btn-primary {
  position: relative;
  padding:5px 20px;
  color: #fff
;
  margin-top: 5px;
}

.pricing-area .plan-action .btn-primary:before {
  border-color: #005299 transparent transparent;
  border-radius: 5px 0 0 0;
  border-style: solid;
  border-width: 12px;
  bottom: -12px;
  content: "";
  height: 0;
  left: -9px;
  position: absolute;
  width: 0;
  z-index: -1;
}

.pricing-area .plan-action .btn-primary:after {
  border-color: #005299 transparent transparent;
  border-radius: 5px 0 0 0;
  border-style: solid;
  border-width: 12px;
  bottom: -12px;
  content: "";
  height: 0;
  position: absolute;
  right: -9px;
  width: 0;
  z-index: -1;
}

.pricing-area .price-two .plan-action .btn-primary:before, 
.pricing-area .price-two .plan-action .btn-primary:after {
  border-color: #C0C0C0 transparent transparent;
}

.pricing-area .price-three .plan-action .btn-primary:before, 
.pricing-area .price-three .plan-action .btn-primary:after {
  border-color: #3B8CC4 transparent transparent;
}

.pricing-area .price-four .plan-action .btn-primary:before, 
.pricing-area .price-four .plan-action .btn-primary:after, 
.pricing-area .price-five .plan-action .btn-primary:before, 
.pricing-area .price-five .plan-action .btn-primary:after, 
.pricing-area .price-seven .plan-action .btn-primary:before, 
.pricing-area .price-seven .plan-action .btn-primary:after  {
  border-color: #424242 transparent transparent;
  right: -9px;
}

.pricing-area .price-six .plan-action .btn-primary:before, 
.pricing-area .price-six .plan-action .btn-primary:after {
  border-color: #005299 transparent transparent;
  right: -9px;
}


/*************************
********* Contact Us CSS ******
**************************/

.gmap-area {
  background-image: url("../images/map.jpg");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 70px 0;
}

.gmap-area .gmap iframe {
  border-radius: 50%;
  height: 280px;
  width: 300px;
}

.gmap{
    border: 10px solid #f6f5f0;
    border-radius: 50%;
    height: 300px;
    width: 300px;
    box-shadow: 0px 0px 3px 3px #e7e4dc;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}

.gmap-area .map-content ul {
  list-style: none; 
}

.gmap-area .map-content address h5{
  font-weight: 700;
  font-size: 16px;
  text-shadow: 2px 2px #fff;
}

#contact-page{
  padding-top: 0;
}

#contact-page .contact-form 
.form-group label {
  color: #4E4E4E;
  font-size: 16px;
  font-weight: 300;
}

.form-group .form-control {
  padding: 7px 10px;
  border-color:#005299;
  box-shadow: none;
}

.form-group .capcha_ans {
  padding: 7px 10px;
  border-color:#005299;
  box-shadow: none;
}

textarea#message{
  resize: none;
  padding: 10px;
}

#contact-page .contact-wrap {
  margin-top: 20px;
}

/*********************
****blog page css*****
**********************/

.widget {
  margin-bottom: 60px;
  padding-left: 0;
}

.single_comments {
  margin-bottom: 20px;
}

.single_comments img {
  float: left;
  margin-right: 10px;
  margin-top: 5px;
}

.single_comments p {
  margin-bottom: 0;
}

.widget .entry-meta span {
  display: inline-block;
  margin-right: 10px;
}

.widget h3 {
  color: #000;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.blog_category{
  list-style:none;
  margin:0;
  padding:0;
}

.blog_category li{
  float:none;
  margin-bottom:20px;
}

.blog_category li a {
  background:#f5f5f5;
  border-radius: 4px;
  color: #888;
  display: inline-block;
  padding: 5px 15px;
}

.blog_category li a:hover{
  background:#005299;
  color: #fff;
}

 .badge:before {
  border-color: transparent transparent transparent #005299;
  border-style: solid;
  border-width: 10px;
  bottom: -8px;
  content: "";
  height: 0;
  left: 5px;
  position: absolute;
  z-index: -99999;
}

.badge {
  background-color: #005299;
  border-radius: 5px;
  color: #fff;
  padding: 8px;
  position: relative;
  left: 60px;
  top: -18px;
  font-weight: normal;
}

.blog_archieve {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

.blog_archieve li {
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}

.blog_archieve li:first-child {
  padding-top: 0;
}

ul.gallery {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.gallery li {
  display: block;
  width: 60px;
  padding: 0;
  margin: 0 4px 4px 0;
  float: left;
}

ul.faq {
  list-style: none;
  margin: 0;
}

ul.faq li {
  margin-top: 30px;
}

ul.faq li:first-child {
  margin-top: 0;
}

ul.faq li span.number {
  display: block;
  float: left;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #34495e;
  color: #fff;
  font-size: 24px;
}

ul.faq li > div {
  margin-left: 70px;
}

ul.faq li > div h3 {
  margin-top: 0;
}


.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.blog-item {
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 50px;
}

.blog .blog-item .img-blog {
  border-radius: 5px;
  margin-bottom: 45px;
}

.blog .blog-item .blog-content {
  padding-bottom: 25px;
}

.blog .blog-item .blog-content h2 {
  margin-top: 0;
  font-size: 30px;
}

.readmore{
  margin-top: 0;
}

.blog .blog-item .blog-content h3 {
  color: #858586;
  margin-bottom: 40px;
  /* font-weight: 300 */}

.blog .blog-item .blog-content h4 {
  font-size: 14px;
}

.post-tags {

}

.blog .blog-item .entry-meta {
  border-radius: 5px;
  overflow: hidden;
}

.blog .blog-item .entry-meta > span {
  background: #f5f5f5;
  border-top: 1px solid #fff;
  display: block;
  font-size: 12px;
  overflow: hidden;
  padding: 5px;
  text-align: left;
}

#publish_date {
  background: #005299;
  border-bottom: 5px solid #4e4e4e;
  color: #fff;
  padding: 5px 0;
  text-align: center;
}

.blog .blog-item .entry-meta > span {
  color: #ccc;
}

.blog .blog-item .entry-meta > span a {
  font-size: 12px;
  margin-left: 3px;
  font-weight: 300;
  color: #888;
}

ul.pagination > li > a {
  border: 1px solid #F1F1F1;
  margin-right:5px;
  border-radius: 5px;
  font-size: 16px;
  padding: 5px 14px;
}

ul.pagination > li > a i{
  margin-left:5px;
  margin-right:5px;
}

ul.pagination > li.active > a, 
ul.pagination > li:hover > a {
  background-color: #005299 !important;
  border-color: #005299 !important;
  color: #fff;
}

.search_box {
  background-image: url("../images/search_icon.png");
  background-position: 314px 15px;
  background-repeat: no-repeat;
  border-color: #DEDEDE;
  height: 48px;
  outline: medium none;
  box-shadow: none;
}

.form-control:focus {
  box-shadow:none;
  outline: 0 none;
}


ul.tag-cloud, 
ul.sidebar-gallery {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tag-cloud li{
    display: inline-block;
    margin-bottom: 3px;
}

.tag-cloud li a {
  background: #f5f5f5;
  color: #888;
  border: 0;
  border-radius: 4px;
  padding: 8px 15px;
}

.tag-cloud li a:hover{
  background:#005299;
  color: #fff;  
}

.sidebar-gallery li{
  display: inline-block;
  margin: 0 10px 10px 0;
}

.sidebar-gallery li a {
  border-radius: 4px;
  display: inline-block;
}


/**********************
**blog single page css*
**********************/

.reply_section {
  background: #f5f5f5;
  border-radius: 5px;
}

.post_reply {
  margin-left: 10px;
  margin-top: 45px;
}

.post_reply img {
  width: 85px;
  height: 85px;
  border: 5px solid #D5D8DD;
}

.post_reply ul {
  list-style: none outside none;
  margin: 0;
  padding: 0;
  margin-top: 5px;
}

.post_reply ul li{
  float:left;
}

.post_reply ul li a {
  display: block;
}

.post_reply ul li a i {
  border: 1px solid #DDDDDD;
  border-radius: 39px;
  color: #FFFFFF;
  font-size: 20px;
  height: 30px;
  margin-right: 3px;
  padding-top: 7px;
  text-align: center;
  width: 30px;
}

.post_reply ul li a i.fa-facebook {
  background: #005299;
}

.post_reply ul li a i.fa-twitter {
  background: none repeat scroll 0 0 #66A9D6;
}

.post_reply ul li a i.fa-google-plus{
 background: none repeat scroll 0 0 #005299;
}

.post_reply ul li a i:hover{
  opacity:.5;
}

.post_reply_content {
  margin: 30px;
}

.post_reply_content h1 a:hover{
  color:#3B8CC4;
}

.post_reply_content h4 {
  margin-bottom: 50px;
}

.reply_section .media-body{
  display:inherit;
}

.comment_section .media-body{
  display:inherit;
}

#comments_title{
   color:#4e4e4e;
   font-weight:700px;
   font-size:20px;
   margin-top:60px;
   margin-bottom:40px;
}
.comment_section {
  margin-top: 30px;
  position: relative;
}

.post_comments img {
  width: 85px;
  height: 85px;
  margin-top: 35px;
}

.post_reply_comments {
  background:#f5f5f5;
  border-radius: 4px;
  padding: 30px;
}

.post_reply_comments:before {
  border-color: transparent #F0F0F0 transparent transparent;
  border-style: solid;
  border-width: 15px;
  content: " ";
  height: 0;
  left: 75px;
  position: absolute;
  top: 20px;
}

.post_reply_comments h3, 
.post_reply_content h3{
  margin-top: 0;
}

.post_reply_comments h1 a:hover{
  color:#005299;
}

.post_reply_comments h4{
  color:#c4c4c5;
  font-weight:400;
}

.post_reply_comments p {
  padding-bottom: 30px;
}

.post_reply_comments a {
  bottom: 15px;
  position: absolute;
  right: 30px;
  background: #005299;
  color: #fff;
  border-radius: 5px;
  padding: 8px 20px;
}

.post_reply_comments a:before {
  border-color: #005299 transparent transparent;
  border-style: solid;
  border-width: 16px;
  bottom: -11px;
  content: "";
  height: 0;
  left: -12px;
  position: absolute;
  z-index: 99999;
}

.post_reply_comments h2 a{
 
}

.message_heading {
  margin-bottom: 50px;
  margin-top: 60px;
}


/******************
 404 page css
 ******************/

#error .btn-success:hover, 
.btn-success:focus, 
.btn-success:active, 
.btn-success.active, 
.open .dropdown-toggle.btn-success:hover {
  background-color: #EBEBEB;
  border-color: #EBEBEB;
  color: #4E4E4E;
}

#error h1{
  color: #4e4e4e;
  text-transform: uppercase;
}


/******************
shortcodes page css
******************/

.shortcode-item {
  padding-bottom: 0;
}

.shortcode-item h2 {
  color: #4E4E4E;
  font-size: 24px;
  margin-bottom: 22px;
  margin-top: 0;
  font-weight: 600
}



/***********************
********* Footer ******
************************/
#bottom {
  background: #f5f5f5;
  background-image: url("../images/fondo3.jpg");
  border-bottom: 5px solid #005299;
  font-size: 14px;
}

#bottom h3 {
  margin-top: 0;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-size:22px;
  color: #011935;
  text-shadow: 2px 2px #fff;
}

#bottom ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#bottom ul li {
  display: block;
  padding: 5px 0;
}

#bottom ul li a {
  color: #011935;
}

#bottom ul li a:hover {
  color: #005299;
}

#bottom .widget {
  margin-bottom: 0;
}

#footer {
  padding-top: 30px;
  padding-bottom: 30px;
  color: #fff;
  background: #2e2e2e;
  background-image: url("../images/fondo2.jpg");
}

#footer a {
  color: #fff;
}

#footer a:hover {
  color: #005299;
}

#footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer ul > li {
  display: inline-block;
  margin-left: 15px;
}


#fondointro {
  background: #f5f5f5;
  background-image: url("../images/fondo3.jpg");
  float:center;
  text-align:center;
  border-bottom: 5px solid #005299;
  font-size: 14px;
}

































html {
    /*If you had a black or close to black background*/
    background-color: #fff;
}






		.sky {
			height:300px;
			background:#007fd5;
			position:relative;
			overflow:hidden;
			-webkit-animation:sky_background 50s ease-out infinite;
			-moz-animation:sky_background 50s ease-out infinite;
			-o-animation:sky_background 50s ease-out infinite;
			-webkit-transform:translate3d(0,0,0);
			-moz-transform:translate3d(0,0,0);
			-o-transform:translate3d(0,0,0)
		}
		
		
		.moon {
			background:url("../images/moon.png");
			position:absolute;
			left:0;
			height:100%;
			width:300%;
			-webkit-animation:moon 50s linear infinite;
			-moz-animation:moon 50s linear infinite;
			-o-animation:moon 50s linear infinite;
			-webkit-transform:translate3d(0,0,0);
			-moz-transform:translate3d(0,0,0);
			-o-transform:translate3d(0,0,0)
		}
		
		
		.clouds_one {
			background:url("../images/cloud_one.png");
			position:absolute;
			left:0;
			top:0;
			height:100%;
			width:300%;
			-webkit-animation:cloud_one 50s linear infinite;
			-moz-animation:cloud_one 50s linear infinite;
			-o-animation:cloud_one 50s linear infinite;
			-webkit-transform:translate3d(0,0,0);
			-moz-transform:translate3d(0,0,0);
			-o-transform:translate3d(0,0,0)
		}
		
		.clouds_two {
			background:url("../images/cloud_two.png");
			position:absolute;
			left:0;
			top:0;
			height:100%;
			width:300%;
			-webkit-animation:cloud_two 75s linear infinite;
			-moz-animation:cloud_two 75s linear infinite;
			-o-animation:cloud_two 75s linear infinite;
			-webkit-transform:translate3d(0,0,0);
			-moz-transform:translate3d(0,0,0);
			-o-transform:translate3d(0,0,0)
		}
		
		.clouds_three {
			background:url("../images/cloud_three.png");
			position:absolute;
			left:0;
			top:0;
			height:100%;
			width:300%;
			-webkit-animation:cloud_three 100s linear infinite;
			-moz-animation:cloud_three 100s linear infinite;
			-o-animation:cloud_three 100s linear infinite;
			-webkit-transform:translate3d(0,0,0);
			-moz-transform:translate3d(0,0,0);
			-o-transform:translate3d(0,0,0)
		}
		
		@-webkit-keyframes sky_background {
			0% {
				background:#007fd5;
				color:#007fd5
			}
			
			50% {
				background:#000;
				color:#a3d9ff
			}
			
			100% {
				background:#007fd5;
				color:#007fd5
			}
		}
		
		@-webkit-keyframes moon {
			0% {
				opacity: 0;
				left:-200%
				-moz-transform: scale(0.5);
  				-webkit-transform: scale(0.5);
			}
			
			50% {
				opacity: 1;
				-moz-transform: scale(1);
				left:0%
				bottom:250px;
  				-webkit-transform: scale(1);
			}
		
			100% {
				opacity: 0;
				bottom:500px;
				-moz-transform: scale(0.5);
  				-webkit-transform: scale(0.5);
			}
		}
		
		@-webkit-keyframes cloud_one {
			0% {
				left:0
			}
		
			100% {
				left:-200%
			}
		}
		
		@-webkit-keyframes cloud_two {
			0% {
				left:0
			}
		
			100% {
				left:-200%
			}
		}
		
		@-webkit-keyframes cloud_three {
			0% {
				left:0
			}
		
			100% {
				left:-200%
			}
		}
		
		
		
		
		
		
		
		
		
		






img.opacity {
	opacity: 0.4;
	filter: alpha(opacity=50);
 	-webkit-transition: opacity 1s linear;
	}	
	
img.opacity:hover {
	opacity: 1;
	filter: alpha(opacity=100);
 	-webkit-transition: opacity 1s linear;
	}













/* Fora as colunas a terem a mesma altura */
#services .row {
  display: flex;
  flex-wrap: wrap;
}

#services .row > [class*="col-"] {
  display: flex;
  margin-bottom: 30px;
}

/* Estilo das caixas */
#services .services-wrap {
  background: #ffffff;
  border-radius: 10px;
  padding: 25px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  display: flex;
  width: 100%;
  transition: 0.3s ease;
}

#services .services-wrap:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0,0,0,0.12);
}

/* Remove comportamento antigo do media */
#services .services-wrap .pull-left {
  float: none;
  margin-right: 20px;
}

#services .services-wrap img {
  width: 70px;
  height: 70px;
  object-fit: contain;
}

/* Garante que o texto ocupa o resto do espao */
#services .media-body {
  flex: 1;
}

/* Melhor espaamento */
#services .media-heading {
  margin-top: 0;
  margin-bottom: 10px;
}


/* Remove layout lateral antigo */
#services .services-wrap {
  flex-direction: column;
  text-align: left;
}

/* Remove float do Bootstrap */
#services .services-wrap .pull-left {
  float: none !important;
  margin: 0 0 20px 0;
  text-align: center;
}

/* Imagem no topo */
#services .services-wrap img {
  width: 100%;
  max-height: 160px;
  object-fit: cover;
  border-radius: 8px;
}

/* Ajuste do contedo */
#services .media-body {
  width: 100%;
}

/* Ttulo */
#services .media-heading {
  margin-top: 10px;
  margin-bottom: 15px;
}



#services .get-started h2,
#services .get-started p {
  color: #1e73be !important;
}
 

/* =========================
   HERO MODERNO
========================= */

#hero-hostcare {
  padding: 120px 0 100px 0;
  background: #ffffff;
}

.hero-row {
  display: flex;
  align-items: center;
}

.hero-text h1 {
  font-size: 48px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}

.hero-text p {
  font-size: 18px;
  margin-top: 25px;
  margin-bottom: 35px;
  color: #64748b;
  line-height: 1.6;
}

.btn-hero {
  background: #0d6efd;
  color: #fff;
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s ease;
}

.btn-hero:hover {
  background: #084fc7;
  color: #fff;
}

.hero-image img {
  max-width: 100%;
}




/* =========================================================
   REDES SOCIAIS  MFEdespachante
   ========================================================= */

#home-modern-cards {
    padding: 85px 0 90px;
    background: #EAF4FA;
    position: relative;
}

/* Título */
#home-modern-cards .modern-title {
    margin-bottom: 50px;
}

#home-modern-cards .modern-title h2 {
    position: relative;
    display: inline-block;
    margin: 0;
    padding-bottom: 16px;
    font-size: 32px;
    font-weight: 600;
    color: #011935;
    letter-spacing: 0.2px;
}

/* Pequena linha corporativa */
#home-modern-cards .modern-title h2::after {
    content: "";
    position: absolute;
    width: 55px;
    height: 3px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #3B8CC4;
    border-radius: 3px;
}

/* Container das redes */
#home-modern-cards .modern-cards-wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 25px;
    flex-wrap: wrap;
}

/* Cartão */
#home-modern-cards .modern-card {
    width: 300px;
    height: 245px;
    position: relative;
    display: block;
    cursor: pointer;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
}

/* Frente */
#home-modern-cards .card-front {
    height: 100%;
    background: #ffffff;
    border: 1px solid rgba(0, 82, 153, 0.10);
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(1, 25, 53, 0.08);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    transition: all 0.35s ease;
}

/* Círculo do ícone */
#home-modern-cards .modern-icon {
    width: 78px;
    height: 78px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #EAF4FA;
    color: #005299;

    font-size: 34px;

    margin-bottom: 20px;

    transition: all 0.35s ease;
}

/* Nome da rede */
#home-modern-cards .modern-card-bottom {
    background: transparent;
    padding: 0;
    text-align: center;
}

#home-modern-cards .modern-card-bottom span {
    color: #011935;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0;
}

/* Hover */
#home-modern-cards .modern-card:hover .card-front {
    transform: translateY(-7px);
    border-color: rgba(59, 140, 196, 0.35);
    box-shadow: 0 15px 35px rgba(1, 25, 53, 0.13);
}

#home-modern-cards .modern-card:hover .modern-icon {
    background: #005299;
    color: #ffffff;
    transform: scale(1.08);
}

/* Barra inferior */
#home-modern-cards .modern-card::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 3px;
    background: #3B8CC4;
    transform: translateX(-50%);
    transition: width 0.35s ease;
}

#home-modern-cards .modern-card:hover::after {
    width: 100%;
}

/* Esconder o hover antigo */
#home-modern-cards .card-hover {
    display: none;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #home-modern-cards {
        padding: 60px 15px;
    }

    #home-modern-cards .modern-title {
        margin-bottom: 35px;
    }

    #home-modern-cards .modern-title h2 {
        font-size: 27px;
    }

    #home-modern-cards .modern-cards-wrapper {
        gap: 18px;
    }

    #home-modern-cards .modern-card {
        width: 100%;
        max-width: 340px;
        height: 210px;
    }

    #home-modern-cards .modern-icon {
        width: 68px;
        height: 68px;
        font-size: 30px;
        margin-bottom: 15px;
    }
}




/* HOVER STATE */

.card-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1e3a5f;
  color: #ffffff;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  opacity: 0;
  transition: 0.4s ease;
}

.modern-card:hover .card-hover {
  opacity: 1;
}

.modern-card:hover .card-front {
  transform: translateY(-5px);
}





/* =========================
   SEO EXPERTISE MODERNA
========================= */

#home-expertise {
  background: #177ab7; /* teal semelhante */
  padding: 120px 0;
  color: #ffffff;
}

.expertise-row {
  display: flex;
  align-items: center;
}

.expertise-text h2 {
  font-size: 44px;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 1.2;
  color: #ffffff; /* fora branco */
}

.expertise-text p {
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 20px;
  color: rgba(255,255,255,0.9);
}

.btn-expertise {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 30px;
  background: #ffffff;
  color: #2f7e83;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  transition: 0.3s ease;
}

.btn-expertise:hover {
  transform: translateY(-3px);
  background: #f3f4f6;
}

.image-blob {
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: url("../images/alojamento-interior.png") center/cover no-repeat;
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
}





/* =========================
   SERVICES GRID (REAL)
========================= */

/* =========================
   SERVICES GRID HEADER
========================= */

#services-grid {
    padding-top: 100px;
    background: #f4f4f4; /* remove aquela barra cinza estranha */
}

.services-header {
    text-align: center;
    margin-bottom: 80px;
}

.services-header h2 {
    font-size: 52px;
    font-weight: 700;
    color: #1e3a5f;
    margin: 0;
    position: relative;
}

/* Linha decorativa elegante */
.services-header h2::after {
    content: "";
    display: block;
    width: 90px;
    height: 4px;
    background: #1e3a5f;
    margin: 25px auto 0;
    border-radius: 2px;
}

.services-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.box {
  position: relative;
  height: 420px;
  overflow: hidden;
}

/* TEXT BOX */
.box.text {
  background: #264a73;
  color: #fff;
  padding: 60px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.box.text h3 {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 36px;
  letter-spacing: 0.5px;
}

.box.text span {
  margin-top: 20px;
  color: #66A9D6;
  font-weight: 600;
}

/* IMAGE BOX */
.box.image img {
  width: 100%;
  height: 120%;
  object-fit: cover;
  position: absolute;
  top: -10%;
  left: 0;
  transition: transform 0.3s ease;
}

/* PARALLAX SUAVE */
.box.image {
  overflow: hidden;
}

@media (max-width: 991px) {
  .services-container {
    grid-template-columns: 1fr;
  }
}




/* =========================
   TESTIMONIAL SECTION
========================= */

#home-testimonial {
  background: #177ab7;
  padding: 120px 0;
  text-align: center;
  color: #ffffff;
  position: relative;
}

.testimonial-title {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 60px;
  color: #ffffff;
}

.testimonial-content {
  max-width: 900px;
  margin: 0 auto;
}

.quote-icon {
  font-size: 80px;
  opacity: 0.3;
  margin-bottom: 20px;
}

.testimonial-text {
  font-size: 22px;
  line-height: 1.8;
  font-weight: 500;
  margin-bottom: 40px;
}

.testimonial-author {
  font-size: 18px;
  font-style: italic;
  opacity: 0.9;
}

/* Setas */
#home-testimonial .carousel-control {
  background: none;
  font-size: 40px;
  color: #ffffff;
  width: auto;
  opacity: 0.6;
  text-shadow: none;
}

#home-testimonial .carousel-control:hover {
  opacity: 1;
}

/* Pontos */
#home-testimonial .carousel-indicators {
  bottom: -60px;
}

#home-testimonial .carousel-indicators li {
  background-color: rgba(255,255,255,0.4);
  border: none;
}

#home-testimonial .carousel-indicators .active {
  background-color: #ffffff;
}

/* Setas maiores */

#home-testimonial .carousel-control {
    font-size: 70px;   /* aumenta tamanho */
    width: 80px;
    opacity: 0.8;
}

#home-testimonial .carousel-control span {
    font-size: 70px;
}



/* Tornar a card inteira clicvel e sem underline */

.social-card {
    text-decoration: none;
    color: inherit;
    display: block;
}

.social-card:hover {
    text-decoration: none;
    color: inherit;
}

.modern-icon {
    padding: 90px 20px;
}

.modern-icon i {
    font-size: 150px;   /* aumenta aqui */
}



section {
    margin: 0;
}

#services-grid {
    margin-bottom: 0;
    padding-bottom: 0;
}

#home-testimonial {
    margin-top: 0;
}

.navbar-inverse .navbar-nav > li > a {
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.5px;   /* ms elegante */
    text-transform: uppercase; /* opcional: estilo corporativo */
}

.navbar-inverse .navbar-nav > li > a:hover {
    color: #ffffff;
    font-weight: 700;
}


#bottom {
    position: relative;
    color: #ffffff;
}

#bottom::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

#bottom .container {
    position: relative;
    z-index: 1;
}

#bottom h3 {
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 1px;
}


#bottom h3,
#bottom p,
#bottom li {
    text-shadow: none !important;
}


.social-share2 {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 15px;
}

.social-share2 li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid #177ab7; /* azul da marca */
    color: #177ab7;
    font-size: 24px;
    transition: all 0.3s ease;
    text-decoration: none;
}

/* Hover moderno */
.social-share2 li a:hover {
    background: #177ab7;
    color: #ffffff;
background: rgba(255,255,255,0.1);
backdrop-filter: blur(5px);
}

@media (max-width: 768px) {

    /* Centralizar tudo no footer principal */
    #bottom {
        text-align: center;
    }

    #bottom .col-md-3 {
        margin-bottom: 35px;
    }

    /* Logo centrado */
    .footer-logo-img {
        display: block;
        margin: 0 auto 25px auto;
        max-width: 160px;
    }

    /* Remover padding estranho das listas */
    .footer-links {
        padding-left: 0;
        list-style: none;
    }

    /* Centralizar redes sociais */
    .social-share2 {
        justify-content: center;
    }

    /* Footer inferior */
    #footer {
        text-align: center;
    }

    #footer .pull-right {
        float: none !important;
        padding-left: 0;
        margin-top: 15px;
    }

    #footer ul {
        padding-left: 0;
        list-style: none;
    }

}

@media (max-width: 768px) {
    #bottom .col-md-3,
    #bottom .col-sm-6 {
        width: 100%;
    }
}


@media (max-width: 768px) {

    .navbar {
        min-height: 70px; /* aumenta altura da barra */
    }

    .navbar-brand {
        height: 70px;
        display: flex;
        align-items: center;   /* centraliza verticalmente */
        padding-top: 0;
        padding-bottom: 0;
    }

    .navbar-brand img {
        max-height: 45px;  /* controla tamanho do logo */
        width: auto;
    }

}

@media (max-width: 768px) {

    .navbar-toggle {
        margin-top: 18px;
    }

}

/* ============================= */
/* LINKS FOOTER - DOURADO PREMIUM */
/* ============================= */

.footer-bottom a,
#footer a,
.footer-bottom-bar a {
    color: #3B8CC4;   /* dourado elegante */
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Hover */
.footer-bottom a:hover,
#footer a:hover,
.footer-bottom-bar a:hover {
    color: #66A9D6;
}

/* ============================= */
/* CONES REDES SOCIAIS */
/* ============================= */

.social-share2 a {
    color: #3B8CC4;
    border: 2px solid #3B8CC4;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.social-share2 a:hover {
    background: #3B8CC4;
    color: #1f4f6e;
    transform: translateY(-3px);
}

/* ============================= */
/* ESPAAMENTO CORRETO */
/* ============================= */

.footer-widget h3 {
    margin-top: 20px;
    margin-bottom: 15px;
}

#footer {
    padding: 20px 0;
}

.footer-bottom-bar {
    padding: 15px 0;
}


.footer-bottom-bar {
    background: #000;        /* barra preta */
    padding: 18px 0;
    text-align: center;
    width: 100%;
}

.footer-bottom-bar a {
    color: #3B8CC4;          /* dourado elegante */
    text-decoration: none;
    transition: 0.3s ease;
}

.footer-bottom-bar a:hover {
    color: #66A9D6;
}

.footer-bottom h3 {
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 15px;
    position: relative;
}

.footer-bottom h3::after {
    content: "";
    width: 40px;
    height: 2px;
    background: #3B8CC4; /* dourado */
    display: block;
    margin-top: 8px;
}


#bottom h3 {
    color: #ffffff !important;
    font-weight: 600;
    letter-spacing: 0.5px;
}


/* BOTO LOJA FOOTER */

.btn-footer-shop {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 22px;
    background: linear-gradient(135deg, #3B8CC4, #66A9D6);
    color: #1f4f6e !important;
    font-weight: 600;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.btn-footer-shop:hover {
    background: linear-gradient(135deg, #66A9D6, #3B8CC4);
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.35);
    color: #1f4f6e !important;
}

/* ============================= */
/* REDES SOCIAIS - CONTRASTE FORTE */
/* ============================= */

.social-share2 a {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.08); /* fundo leve */
    border: 2px solid #ffffff;             /* borda branca */
    color: #ffffff;                        /* cone branco */

    font-size: 22px;
    transition: all 0.3s ease;
}

/* Hover elegante */
.social-share2 a:hover {
    background: #3B8CC4;       /* dourado */
    border-color: #3B8CC4;
    color: #1f4f6e;            /* azul da marca */
    transform: translateY(-4px);
}

@media (max-width: 768px) {

    #bottom h3 {
        text-align: center;
        position: relative;
    }

    #bottom h3::after {
        content: "";
        width: 50px;
        height: 3px;
        background: #3B8CC4;
        display: block;
        margin: 8px auto 0 auto; /* centra por baixo do ttulo */
    }

}


/* ============================= */
/* COPYRIGHT BAR */
/* ============================= */



.footer-copy {
    display: flex;
    align-items: center;
    height: 60px;
    color: #ffffff;
    font-size: 14px;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 60px;
}

.footer-menu li {
    margin-left: 20px;
}

/* ============================= */
/* FOOTER COPYRIGHT ROW FIX */
/* ============================= */

.footer-row {
    display: flex;
    align-items: center;      /* centra verticalmente */
    justify-content: space-between;
}

.footer-copy {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.footer-menu li {
    margin: 0;
}

#footer {
    padding: 15px 0;
}

/* ============================= */
/* FOOTER COPYRIGHT FIX */
/* ============================= */



#footer .row {
    display: flex;
    align-items: center;   /* centra verticalmente */
}



/* Remove float do Bootstrap */
.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    gap: 20px;
}



/* IMPORTANTE */
#footer .pull-right {
    float: none !important;
}

/* ============================= */
/* FOOTER COPYRIGHT FIX REAL */
/* ============================= */

#footer {
    padding: 18px 0;
}

/* Remove o comportamento default do row s nesta zona */
#footer .row {
    margin-left: 0;
    margin-right: 0;
}

/* Ajuste das colunas */
#footer .col-sm-6 {
    display: flex;
    align-items: center;
}

/* Copyright */
.footer-copy {
    color: #ffffff;
    font-size: 14px;
}

/* Menu da direita */
.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
    margin-left: auto; /* fora para a direita */
}



.footer-menu {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}

.footer-menu li {
    display: inline-block;
    margin: 0 12px;
}

.footer-menu a {
    color: #3B8CC4;
    text-decoration: none;
    transition: 0.3s;
}

.footer-menu a:hover {
    color: #ffffff;
}

/* FONDO GEOMTRICO */
.footer-main {
    background: url("../images/fondo1.jpg") repeat;
    padding: 20px 0;
    border-top: 4px solid #1e88c8;
}

/* FLEX REAL (no bootstrap grid) */
.footer-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* COPYRIGHT */
.footer-copy {
    color: #ffffff;
    font-size: 15px;
}

/* MENU */
.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li {
    display: inline-block;
    margin-left: 20px;
}

.footer-menu a {
    color: #3B8CC4;
    text-decoration: none;
    transition: 0.3s ease;
}



/* BARRA NEGRA */
.footer-bottom-bar {
    background: #000;
    padding: 12px 0;
}

.footer-bottom-bar a {
    color: #3B8CC4;
    text-decoration: none;
}

.footer-bottom-bar a:hover {
    color: #ffffff;
}

/* RESPONSIVO */
@media (max-width: 768px) {

    .footer-flex {
        flex-direction: column;
        text-align: center;
    }

    .footer-menu {
        margin-top: 15px;
    }

    .footer-menu li {
        display: block;
        margin: 6px 0;
    }
}

.footer-menu a {
    color: #3B8CC4;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
}

.footer-menu a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -4px;
    background: #ffffff;
    transition: width 0.3s ease;
}



.footer-menu a:hover::after {
    width: 100%;
}

/* CONTACTOS LINKS */
.footer-widget a {
    color: #3B8CC4;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
}

/* lnea animada */
.footer-widget a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -3px;
    background: #ffffff;
    transition: width 0.3s ease;
}

.footer-widget a:hover {
    color: #ffffff;
}

.footer-widget a:hover::after {
    width: 100%;
}

/* =========================================
   MFEDESPACHANTE - NAVBAR
   ========================================= */

.custom-navbar {
    background: #011935;
    border: none;
    border-radius: 0;
    min-height: 82px;
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.custom-navbar .navbar-nav {
    display: flex;
    align-items: center;
    margin: 0;
}

.custom-navbar .navbar-nav > li {
    margin: 0 4px;
    padding: 0;
}

.custom-navbar .navbar-nav > li > a {
    position: relative;
    display: block;
    padding: 22px 18px !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.25px;
    text-transform: none;
    border-radius: 6px;
    transition: color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}

.custom-navbar .navbar-nav > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 7px;
    width: 0;
    height: 2px;
    background: #3B8CC4;
    border-radius: 2px;
    transform: translateX(-50%);
    transition: width 0.3s ease;
}

.custom-navbar .navbar-nav > li > a:hover,
.custom-navbar .navbar-nav > li > a:focus {
    color: #ffffff !important;
    background: rgba(0, 112, 194, 0.65);
    transform: translateY(-2px);
    text-decoration: none;
}

.custom-navbar .navbar-nav > li > a:hover::after,
.custom-navbar .navbar-nav > li > a:focus::after {
    width: 55%;
}

.custom-navbar .navbar-nav > li.active > a,
.custom-navbar .navbar-nav > li.active > a:hover,
.custom-navbar .navbar-nav > li.active > a:focus {
    color: #ffffff !important;
    background: rgba(0, 112, 194, 0.85);
}

.custom-navbar .navbar-nav > li.active > a::after {
    width: 55%;
}

.custom-navbar .navbar-brand {
    display: flex;
    align-items: center;
    padding: 8px 0 !important;
}

.custom-navbar .navbar-brand img {
    display: block;
    width: auto;
    max-height: 62px;
}

.custom-navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.custom-navbar .navbar-header {
    display: flex;
    align-items: center;
}

.btn-loja {
    background: #3B8CC4;
    color: #000 !important;
    padding: 6px 14px !important;
    border-radius: 4px;
    font-weight: 600;
}

.btn-loja:hover {
    background: #ffffff;
    color: #000 !important;
}

.footer-widget p a {
    color: #3B8CC4;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
}

.footer-widget p a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -3px;
    background: #ffffff;
    transition: width 0.3s ease;
}

.footer-widget p a:hover {
    color: #ffffff;
}

.footer-widget p a:hover::after {
    width: 100%;
}

.btn-footer-shop::after {
    display: none !important;
}

/* =========================================
   NAVBAR MOBILE
   ========================================= */

@media (max-width: 991px) {
    .custom-navbar .container {
        display: block;
    }

    .custom-navbar .navbar-header {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .custom-navbar .navbar-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 6px 0 !important;
    }

    .custom-navbar .navbar-brand img {
        max-height: 50px;
    }

    .custom-navbar .navbar-collapse {
        background: #011935;
        border-top: none;
        padding: 8px 0 12px;
        text-align: center;
    }

    .custom-navbar .navbar-nav {
        display: block;
        float: none !important;
        margin: 0;
    }

    .custom-navbar .navbar-nav > li {
        float: none;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .custom-navbar .navbar-nav > li:last-child {
        border-bottom: none;
    }

    .custom-navbar .navbar-nav > li > a {
        padding: 13px 20px !important;
        font-size: 16px;
        border-radius: 0;
        transform: none;
    }

    .custom-navbar .navbar-nav > li > a::after {
        bottom: 5px;
    }

    .custom-navbar .navbar-nav > li > a:hover,
    .custom-navbar .navbar-nav > li > a:focus {
        transform: none;
        background: rgba(0, 112, 194, 0.55);
    }
}

.mobile-toggle {
    background: none;
    border: none;
    font-size: 28px;
    color: #ffffff;
    margin-right: 15px;
}

@media (min-width: 992px) {
    .mobile-menu,
    .mobile-toggle {
        display: none;
    }
}

/* ===== FIX LAYOUT MOBILE GLOBAL ===== */

@media (max-width: 767px) {

    [class*="col-"] {
        width: 100% !important;
        float: none !important;
    }

    .row {
        display: block !important;
    }

}

/* ================================= */
/* ===== MOBILE MENU CLEAN FIX ===== */
/* ================================= */

@media (max-width: 991px) {

    /* Ajuste navbar sin romper layout */
    .navbar-collapse {
        background: #0b3f57;
        padding: 15px 0 25px 0;
    }

    /* Centrado real */
    .navbar-nav {
        float: none !important;
        margin: 0;
        text-align: center;
    }

    .navbar-nav > li {
        float: none;
        display: block;
    }

    .navbar-nav > li > a {
        display: block;
        padding: 15px 0;
        font-size: 16px;
        font-weight: 600;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    /* Espacio inferior para que Contactos no quede pegado */
    .navbar-nav > li:last-child > a {
        border-bottom: none;
        margin-bottom: 15px;
    }

}

/* ========================= */
/* MOBILE SLIDE MENU CLEAN  */
/* ========================= */

.mobile-menu {
    position: fixed;
    top: 0;
    left: -100%;
    width: 75%;
    height: 100vh;
    background: #0b3f57;
    transition: left 0.3s ease;
    z-index: 9999;
    padding-top: 80px;
}

.mobile-menu.active {
    left: 0;
}

.mobile-menu-inner {
    display: flex;
    flex-direction: column;
    text-align: center;
}

.mobile-menu-inner a {
    padding: 18px 0;
    color: #fff;
    font-weight: 600;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-decoration: none;
}

.mobile-menu-inner a:last-child {
    border-bottom: none;
}

.mobile-toggle {
    background: none;
    border: none;
    font-size: 28px;
    color: #fff;
}

/* Solo visible en mvil */


/* ========================= */
/* MOBILE SLIDE MENU CLEAN  */
/* ========================= */











/* BOTN HAMBURGUESA */
.mobile-toggle {
    background: none;
    border: none;
    font-size: 28px;
    color: #fff;
    margin-right: 15px;
}

/* OCULTAR collapse Bootstrap en mvil */
@media (max-width: 991px) {
    .navbar-collapse {
        display: none !important;
    }
}

/* Solo visible en mvil */


.mobile-menu {
    width: 280px;   /* ancho fijo elegante */
    max-width: 85%;
}

.mobile-menu {
    box-shadow: 8px 0 25px rgba(0,0,0,0.35);
}

.mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
}

.mobile-social {
    margin-top: 40px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    justify-content: center;
    gap: 20px;
}

.mobile-social a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    transition: all 0.3s ease;
}

.mobile-social a:hover {
    background: #3B8CC4;
    color: #0b3f57;
    transform: translateY(-3px);
}

/* Fix espacio debajo del navbar en mobile */
@media (max-width: 991px) {
    body {
        padding-top: 0 !important;
    }

    #main-slider,
    .carousel,
    section:first-of-type {
        margin-top: 0 !important;
    }
}

body {
    padding-top: 90px;
}

.custom-navbar {
    position: sticky;
    top: 0;
    z-index: 999;
}

/* Footer men vertical en mobile */
@media (max-width: 768px) {

    .footer-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px;
        padding-left: 0;
    }

    .footer-menu li {
        display: block !important;
        margin: 0 !important;
    }

    .footer-menu li a {
        display: block;
        padding: 6px 0;
    }

}

@media (max-width: 768px) {

    .footer-menu li a {
        font-size: 15px;
        font-weight: 500;
    }

}

/* Reordenar footer en mobile */
@media (max-width: 768px) {

    .footer-row {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-menu {
        order: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 15px;
        padding-left: 0;
    }

    .footer-copy {
        order: 2;
        text-align: center;
    }

}

@media (max-width: 768px) {
    .footer-menu li {
        display: block;
        margin: 0;
    }
}

/* Footer responsive fix */
@media (max-width: 768px) {

    .footer-flex {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-menu {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding-left: 0;
        margin: 15px 0;
    }

    .footer-menu li {
        display: block;
    }

    .footer-copy {
        margin-top: 10px;
    }

}

@media (max-width: 768px) {

    .footer-main {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .footer-menu {
        margin-top: 15px;
        margin-bottom: 15px;
    }

}

/* Separacin real antes del footer */
#footer {
    margin-top: 40px;
}

@media (max-width: 768px) {

    .footer-menu {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; /* permite bajar a segunda fila si no cabe */
        gap: 12px;
        padding-left: 0;
        margin: 15px 0;
    }

    .footer-menu li {
        display: inline-block;
    }

    .footer-menu li a {
        white-space: nowrap; /* IMPIDE que se partan palabras */
        font-size: 14px;     /* un poco ms pequeo para mobile */
    }

}



html, body {
    margin: 0 !important;
    padding: 0 !important;
}

#footer {
    margin-top: 0 !important;
}

.footer-main {
    margin-top: 0 !important;
}

.image-blob {
    width: 420px;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

@media (max-width: 768px) {
    .image-blob {
        width: 280px;
    }
}

html, body {
    overflow-x: hidden;
}

/* =========================================
   FIX CIRCULO HERO / IMAGE-BLOB
   No afecta otras pginas
========================================= */

.image-blob {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 1 / 1;
    border-radius: 50% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    margin: 0 auto 30px auto !important;
    display: block;
}

/* Contenedor centrado */
.expertise-image {
    text-align: center;
}

/* Ajuste responsive */
@media (max-width: 768px) {
    .image-blob {
        max-width: 260px;
    }
}


/* =========================================
   FIX CIRCULO HERO COMPATIBLE BOOTSTRAP
========================================= */

.image-blob {
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin: 0 auto 30px auto;
    display: block;
}

/* Centrado del contenedor */


/* Responsive */
@media (max-width: 768px) {
    .image-blob {
        width: 220px;
        height: 220px;
    }
}



/* =========================================================
   PACKS HOSTCARE
   ========================================================= */

#home-packs {
    position: relative;
    padding: 90px 0 100px;
    background: #f4f7f8;
    overflow: hidden;
}


/* HEADER */

.packs-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 45px;
}

.packs-overline {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    font-size: 13px;
    font-weight: 600;
    letter-spacing: 4px;
    color: #0d3550;
    margin-bottom: 15px;
}

.packs-overline::before,
.packs-overline::after {
    content: "";
    width: 55px;
    height: 1px;
    background: #3B8CC4;
}

.packs-header h2 {
    margin: 0 0 12px;

    font-size: 42px;
    line-height: 1.15;
    font-weight: 700;

    color: #0d3550;
}

.packs-header p {
    margin: 0;

    font-size: 18px;
    line-height: 1.6;

    color: #506575;
}


/* CAROUSEL */

.packs-carousel-wrapper {
    position: relative;
}

.packs-carousel {
    display: flex;
    gap: 24px;

    overflow-x: auto;
    scroll-behavior: smooth;

    scrollbar-width: none;

    padding: 5px 5px 15px;
}

.packs-carousel::-webkit-scrollbar {
    display: none;
}


/* CARD */

.pack-card {
    flex: 0 0 calc(33.333% - 16px);

    background: #ffffff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 10px 35px rgba(20, 45, 60, 0.08);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.pack-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 45px rgba(20, 45, 60, 0.14);
}


/* IMAGE */

.pack-image {
    position: relative;

    height: 270px;

    overflow: hidden;

    background: #e9eef0;
}

.pack-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center 28%;

    transition: transform 0.5s ease;
}

.pack-card:hover .pack-image img {
    transform: scale(1.04);
}


/* CONTENT */

.pack-content {
    padding: 28px 30px 30px;
}

.pack-category {
    display: block;

    margin-bottom: 6px;

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 2.5px;

    color: #005299;
}

.pack-content h3 {
    margin: 0 0 12px;

    font-size: 29px;
    line-height: 1.1;

    font-weight: 700;

    color: #0d3550;
}

.pack-content p {
    min-height: 52px;

    margin: 0 0 25px;

    font-size: 15px;
    line-height: 1.55;

    color: #536674;
}


/* BOTTOM */

.pack-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 15px;

    padding-top: 20px;

    border-top: 1px solid #e8ecee;
}


/* PRICE */

.pack-price small {
    display: block;

    margin-bottom: 2px;

    font-size: 11px;
    text-transform: uppercase;

    letter-spacing: 1.5px;

    color: #7c8a91;
}

.pack-price strong {
    display: block;

    font-size: 25px;
    line-height: 1;

    font-weight: 700;

    color: #0d3550;
}


/* BUTTON */

.pack-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 48px;

    padding: 0 22px;

    border-radius: 7px;

    background: #0d3550;

    color: #ffffff !important;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 0.8px;

    text-decoration: none !important;

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.pack-button span {
    font-size: 20px;
    line-height: 1;
}

.pack-button:hover {
    background: #164b6d;

    transform: translateX(2px);
}


/* ARROWS */

.packs-arrow {
    position: absolute;

    top: 45%;

    z-index: 5;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 50%;

    background: #ffffff;

    color: #0d3550;

    font-size: 21px;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, 0.12);

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.packs-arrow:hover {
    background: #0d3550;
    color: #ffffff;

    transform: scale(1.05);
}

.packs-arrow-prev {
    left: -24px;
}

.packs-arrow-next {
    right: -24px;
}


/* DOTS */

.packs-dots {
    display: none;

    justify-content: center;

    gap: 8px;

    margin-top: 25px;
}

.packs-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: #c8d0d4;

    cursor: pointer;

    transition: all 0.25s ease;
}

.packs-dot.active {
    width: 25px;

    border-radius: 10px;

    background: #0d3550;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    #home-packs {
        padding: 70px 0 80px;
    }

    .packs-header h2 {
        font-size: 36px;
    }

    .pack-card {
        flex: 0 0 calc(50% - 12px);
    }

    .packs-arrow-prev {
        left: -10px;
    }

    .packs-arrow-next {
        right: -10px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #home-packs {
        padding: 60px 0 70px;
    }

    .packs-header {
        margin-bottom: 30px;
        padding: 0 15px;
    }

    .packs-overline {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .packs-overline::before,
    .packs-overline::after {
        width: 30px;
    }

    .packs-header h2 {
        font-size: 30px;
    }

    .packs-header p {
        font-size: 16px;
    }


    .packs-carousel {
        gap: 15px;

        padding-left: 15px;
        padding-right: 15px;

        scroll-snap-type: x mandatory;
    }

    .pack-card {
        flex: 0 0 88%;

        scroll-snap-align: center;
    }


    .pack-image {
        height: 260px;
    }


    .pack-content {
        padding: 24px;
    }

    .pack-content h3 {
        font-size: 26px;
    }


    .pack-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .pack-button {
        width: 100%;
    }


    /* Mobile uses dots instead of arrows */

    .packs-arrow {
        display: none;
    }

    .packs-dots {
        display: flex;
    }

}


/* =========================================================
   ENTREGA NA MADEIRA
   ========================================================= */

#madeira-delivery {
    position: relative;
    min-height: 380px;

    background-image: url("../images/funchal.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    overflow: hidden;
}

.madeira-delivery-overlay {
    width: 100%;
    min-height: 380px;

    display: flex;
    align-items: center;

    background: linear-gradient(
        90deg,
        rgba(8, 42, 63, 0.88) 0%,
        rgba(8, 42, 63, 0.68) 45%,
        rgba(8, 42, 63, 0.30) 100%
    );
}

.madeira-delivery-content {
    max-width: 650px;
    padding: 80px 20px;
    color: #ffffff;
}

.madeira-overline {
    display: block;

    margin-bottom: 14px;

    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;

    opacity: 0.85;
}

.madeira-delivery-content h2 {
    margin: 0 0 18px;

    font-size: 46px;
    line-height: 1.1;
    font-weight: 600;

    color: #ffffff;
}

.madeira-delivery-content p {
    margin: 0;

    max-width: 560px;

    font-size: 20px;
    line-height: 1.6;

    color: rgba(255, 255, 255, 0.92);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #madeira-delivery {
        min-height: 330px;
        background-position: center center;
    }

    .madeira-delivery-overlay {
        min-height: 330px;

        background: linear-gradient(
            90deg,
            rgba(8, 42, 63, 0.88) 0%,
            rgba(8, 42, 63, 0.60) 100%
        );
    }

    .madeira-delivery-content {
        padding: 65px 20px;
    }

    .madeira-delivery-content h2 {
        font-size: 34px;
    }

    .madeira-delivery-content p {
        font-size: 17px;
        line-height: 1.5;
    }

}





/* =========================================================
   REPOSIO PROGRAMADA
   ========================================================= */

#reposicao-programada {
    position: relative;
    overflow: hidden;

    padding: 90px 0 80px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 250, 243, 0.97),
            rgba(255, 250, 243, 0.88)
        ),
        url("../images/reposicao/reposicao-bg.jpg");

    background-size: cover;
    background-position: center;
}


.reposicao-container {
    width: 92%;
    max-width: 1600px;
    margin: 0 auto;
}


/* =========================================================
   CABEALHO
   ========================================================= */

.reposicao-header {
    max-width: 1050px;
    margin-bottom: 45px;
}

.reposicao-overline {
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 22px;

    color: #0d3b63;

    font-size: 18px;
    font-weight: 600;
    letter-spacing: 4px;
}

.reposicao-overline span {
    display: block;

    width: 100px;
    height: 2px;

    background: #0d3b63;
}


.reposicao-header h2 {
    margin: 0 0 20px;

    color: #0b3a62;

    font-size: clamp(42px, 4vw, 68px);
    line-height: 1.03;
    font-weight: 700;
}


.reposicao-header p {
    max-width: 1050px;

    margin: 0;

    color: #234b6d;

    font-size: 21px;
    line-height: 1.45;
}


/* =========================================================
   REA PRINCIPAL
   ========================================================= */

.reposicao-main {
    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(360px, 0.95fr);

    gap: 28px;

    align-items: start;
}


/* =========================================================
   3 PASSOS
   ========================================================= */

.reposicao-steps {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 26px;
}


.reposicao-step {
    position: relative;

    min-height: 320px;

    padding: 25px 24px 28px;

    background: rgba(255, 255, 255, 0.78);

    border: 1px solid rgba(13, 59, 99, 0.10);

    border-radius: 18px;

    box-shadow:
        0 8px 25px rgba(20, 40, 60, 0.08);
}


/* nmero */

.step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    margin-bottom: 4px;

    border-radius: 50%;

    background: #0d3b63;

    color: #fff;

    font-size: 19px;
    font-weight: 600;
}


/* crculo do cone */

.step-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 125px;
    height: 125px;

    margin: -5px auto 12px;

    border-radius: 50%;

    background: #f4e9dc;

    color: #0d3b63;
}


/* =========================================================
   CONES
   ========================================================= */

.bars-icon {
    display: flex;
    align-items: end;

    gap: 7px;

    height: 52px;
}

.bars-icon i {
    display: block;

    width: 14px;

    border-radius: 2px 2px 0 0;

    background: #0d3b63;
}

.bars-icon i:nth-child(1) {
    height: 24px;
}

.bars-icon i:nth-child(2) {
    height: 38px;
}

.bars-icon i:nth-child(3) {
    height: 52px;
}


.calendar-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 48px;

    border: 4px solid #0d3b63;
    border-radius: 7px;

    font-size: 26px;
    font-weight: 700;
}


.truck-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 65px;
    height: 45px;

    border: 4px solid #0d3b63;
    border-radius: 7px;

    font-size: 34px;
}


/* texto dos passos */

.reposicao-step h3 {
    margin: 0 0 10px;

    color: #0b3a62;

    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;

    text-align: center;
}

.reposicao-step p {
    margin: 0;

    color: #234b6d;

    font-size: 17px;
    line-height: 1.45;

    text-align: center;
}


/* =========================================================
   BENEFCIOS INFERIORES
   ========================================================= */

.reposicao-benefits {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    margin-top: 28px;

    background: transparent;
}


.reposicao-benefit {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    min-height: 85px;

    padding: 10px 18px;

    border-right: 1px solid rgba(13, 59, 99, 0.20);
}


.reposicao-benefit:last-child {
    border-right: none;
}


.benefit-icon {
    flex-shrink: 0;

    color: #0d3b63;

    font-size: 34px;
    line-height: 1;
}


.reposicao-benefit p {
    margin: 0;

    color: #234b6d;

    font-size: 15px;
    line-height: 1.35;

    text-align: center;
}


/* =========================================================
   COLUNA DIREITA
   ========================================================= */

.reposicao-right {
    position: relative;
}


.reposicao-image {
    width: 100%;
    height: 465px;

    overflow: hidden;

    border-radius: 18px;
}


.reposicao-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   CTA SOBRE A IMAGEM
   ========================================================= */

.reposicao-cta {
    position: relative;

    width: 94%;

    margin: -150px auto 0;

    padding: 28px;

    background: rgba(226, 238, 247, 0.96);

    border: 1px solid rgba(255, 255, 255, 0.95);

    border-radius: 18px;

    box-shadow:
        0 10px 35px rgba(20, 40, 60, 0.16);

    z-index: 2;
}


.reposicao-cta-content {
    display: flex;

    gap: 18px;

    align-items: flex-start;
}


.cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    width: 62px;
    height: 62px;

    border-radius: 50%;

    background: #f4e9dc;

    color: #0d3b63;

    font-size: 32px;
}


.reposicao-cta h3 {
    margin: 0 0 10px;

    color: #0b3a62;

    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
}


.reposicao-cta p {
    margin: 0;

    color: #234b6d;

    font-size: 16px;
    line-height: 1.45;
}


.reposicao-button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin-top: 22px;
    padding: 16px 22px;

    border-radius: 10px;

    background: #073b68;

    color: #fff !important;

    font-size: 16px;
    font-weight: 600;
    text-decoration: none;

    transition: all 0.25s ease;
}


.reposicao-button:hover {
    background: #0b4d82;

    color: #fff !important;

    text-decoration: none;
}


.reposicao-button span {
    font-size: 24px;
    line-height: 1;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    #reposicao-programada {
        padding: 70px 0;
    }

    .reposicao-main {
        grid-template-columns: 1fr;
    }

    .reposicao-right {
        max-width: 750px;
        width: 100%;
        margin: 0 auto;
    }

    .reposicao-header {
        max-width: 900px;
    }

}


/* =========================================================
   TABLET PEQUENO
   ========================================================= */

@media (max-width: 800px) {

    .reposicao-steps {
        grid-template-columns: 1fr;
    }

    .reposicao-step {
        min-height: auto;
        padding: 25px;
    }

    .step-icon {
        margin-top: -5px;
    }

    .reposicao-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .reposicao-benefit:nth-child(2) {
        border-right: none;
    }

    .reposicao-benefit:nth-child(-n/**/+2) {
        border-bottom: 1px solid rgba(13, 59, 99, 0.20);
    }

}


/* =========================================================
   TELEMVEL
   ========================================================= */

@media (max-width: 600px) {

    #reposicao-programada {
        padding: 55px 0;
    }

    .reposicao-container {
        width: 90%;
    }


    /* cabealho */

    .reposicao-overline {
        gap: 10px;

        font-size: 12px;
        letter-spacing: 2px;
    }

    .reposicao-overline span {
        width: 35px;
    }

    .reposicao-header h2 {
        font-size: 36px;
        line-height: 1.08;
    }

    .reposicao-header p {
        font-size: 17px;
        line-height: 1.5;
    }


    .desktop-only {
        display: none;
    }


    /* passos */

    .reposicao-steps {
        gap: 16px;
    }

    .reposicao-step {
        padding: 22px 20px 25px;
    }

    .step-number {
        width: 40px;
        height: 40px;
    }

    .step-icon {
        width: 100px;
        height: 100px;
    }

    .reposicao-step h3 {
        font-size: 20px;
    }

    .reposicao-step p {
        font-size: 16px;
    }


    /* benefcios */

    .reposicao-benefits {
        grid-template-columns: 1fr;
        margin-top: 20px;
    }

    .reposicao-benefit,
    .reposicao-benefit:nth-child(2) {
        min-height: 75px;

        border-right: none;
        border-bottom: 1px solid rgba(13, 59, 99, 0.18);
    }

    .reposicao-benefit:last-child {
        border-bottom: none;
    }


    /* imagem */

    .reposicao-image {
        height: 300px;

        border-radius: 14px;
    }


    /* CTA */

    .reposicao-cta {
        width: 92%;

        margin-top: -65px;

        padding: 22px;
    }

    .reposicao-cta-content {
        gap: 12px;
    }

    .cta-icon {
        width: 50px;
        height: 50px;

        font-size: 25px;
    }

    .reposicao-cta h3 {
        font-size: 20px;
    }

    .reposicao-cta p {
        font-size: 15px;
    }

    .reposicao-button {
        padding: 14px 18px;

        font-size: 15px;
    }

}




#home-packs {
    padding: 85px 0 90px;
    background:
        linear-gradient(
            rgba(255, 250, 244, 0.90),
            rgba(255, 250, 244, 0.94)
        ),
        url("../images/packs/packs-background.jpg");

    background-size: cover;
    background-position: center;
}


.packs-header {
    text-align: center;
    margin-bottom: 30px;
}


.packs-overline {
    display: inline-flex;
    align-items: center;
    gap: 20px;

    color: #0b3c63;

    font-size: 17px;
    font-weight: 600;
    letter-spacing: 4px;
}


.packs-overline:before,
.packs-overline:after {
    content: "";

    width: 105px;
    height: 2px;

    background: #0b3c63;
}


.packs-header h2 {
    margin: 14px 0 5px;

    color: #0b3c63;

    font-size: 48px;
    line-height: 1.1;
    font-weight: 700;
}


.packs-header > p {
    margin: 0;

    color: #214c70;

    font-size: 25px;
}


.packs-showcase {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 16px;

    align-items: stretch;
}


.pack-showcase-card {
    overflow: hidden;

    background: rgba(255,255,255,0.94);

    border-radius: 18px;

    box-shadow:
        0 8px 25px rgba(20,40,60,0.10);
}


.pack-showcase-image {
    width: 100%;
    height: 355px;

    overflow: hidden;
}


.pack-showcase-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .5s ease;
}


.pack-showcase-card:hover
.pack-showcase-image img {
    transform: scale(1.03);
}


.pack-showcase-content {
    position: relative;

    padding: 22px 28px 25px;
}


.pack-showcase-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 80px;
    height: 80px;

    margin-top: -62px;
    margin-bottom: 10px;

    border-radius: 50%;

    background: #0b4773;

    border: 5px solid #fff;

    color: #fff;

    font-size: 38px;
}


.pack-showcase-icon.hygiene {
    background: #587052;
}


.pack-showcase-icon.replacement {
    background: #3B8CC4;
}


.pack-showcase-content h3 {
    margin: 0 0 10px;

    color: #0b3c63;

    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
}


.pack-description {
    min-height: 70px;

    margin: 0;

    color: #214c70;

    font-size: 19px;
    line-height: 1.35;
}


.pack-features {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    margin: 18px 0 20px;
}


.pack-features > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 75px;

    padding: 5px 10px;

    border-right: 1px solid rgba(20,50,70,.18);
}


.pack-features > div:last-child {
    border-right: none;
}


.pack-features span {
    margin-bottom: 5px;

    color: #0b4773;

    font-size: 29px;
}


.pack-features p {
    margin: 0;

    color: #214c70;

    font-size: 14px;
    line-height: 1.25;

    text-align: center;
}


.pack-showcase-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    width: 100%;

    padding: 15px 20px;

    background: #064675;

    border-radius: 8px;

    color: #fff !important;

    font-size: 17px;
    font-weight: 500;

    text-decoration: none;
}


.pack-showcase-button.green {
    background: #50664d;
}


.pack-showcase-button:hover {
    color: #fff !important;
    text-decoration: none;

    opacity: .92;
}


.pack-showcase-button span {
    font-size: 24px;
}



@media (max-width: 1100px) {

    .packs-showcase {
        grid-template-columns: repeat(2, 1fr);
    }

    .pack-showcase-card:last-child {
        grid-column: 1 / -1;

        max-width: 520px;
        width: 100%;
        margin: 0 auto;
    }

}


@media (max-width: 700px) {

    #home-packs {
        padding: 60px 0;
    }

    .packs-header h2 {
        font-size: 34px;
    }

    .packs-header > p {
        font-size: 18px;
    }

    .packs-overline {
        font-size: 12px;
        letter-spacing: 2px;
        gap: 10px;
    }

    .packs-overline:before,
    .packs-overline:after {
        width: 35px;
    }


    .packs-showcase {
        display: flex;

        overflow-x: auto;

        scroll-snap-type: x mandatory;

        gap: 15px;

        padding-bottom: 15px;

        scrollbar-width: none;
    }

    .packs-showcase::-webkit-scrollbar {
        display: none;
    }


    .pack-showcase-card {
        flex: 0 0 88%;

        scroll-snap-align: center;
    }


    .pack-showcase-card:last-child {
        max-width: none;
        margin: 0;
    }


    .pack-showcase-image {
        height: 300px;
    }


    .pack-showcase-content h3 {
        font-size: 25px;
    }


    .pack-description {
        font-size: 17px;
    }

}

/* =========================================================
   MFEdespachante  Harmonização visual
   ========================================================= */

:root {
  --mfe-navy: #011935;
  --mfe-blue: #005299;
  --mfe-blue-2: #3B8CC4;
  --mfe-blue-3: #66A9D6;
  --mfe-pale: #EAF4FA;
  --mfe-border: #D5E5EF;
  --mfe-text: #34495E;
  --mfe-white: #FFFFFF;
}

/* Links */
a {
  color: var(--mfe-blue);
}

a:hover,
a:focus {
  color: var(--mfe-blue-2);
}

/* Main buttons */
.btn-primary {
  background: var(--mfe-blue);
  border-color: var(--mfe-blue);
  color: var(--mfe-white);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: var(--mfe-navy);
  border-color: var(--mfe-navy);
  color: var(--mfe-white);
}

/* Header / navigation */
.navbar {
  background-color: var(--mfe-navy);
  background-image: url("../images/fondobg.png");
}

.navbar-inverse .navbar-nav > li > a {
  color: var(--mfe-white);
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  background: rgba(0, 82, 153, 0.82);
  color: var(--mfe-white);
}

.navbar-inverse .navbar-nav > li > a::after {
  background: var(--mfe-blue-3);
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  background: var(--mfe-blue);
  color: var(--mfe-white);
}



/* Light sections */
#middle,
.bg {
  background-color: var(--mfe-pale);
}

/* Cards / service blocks */
.services-wrap,
.well {
  border-color: var(--mfe-border);
}

/* Form focus */
.form-control:focus {
  border-color: var(--mfe-blue-2);
  box-shadow: 0 0 5px rgba(0, 82, 153, 0.18);
}

/* Social buttons */
ul.social-share li a {
  background: var(--mfe-blue);
}

ul.social-share li a:hover {
  background: var(--mfe-blue-2);
}

/* Footer */
#footer {
  background-color: var(--mfe-navy);
}

/* Selection */
::selection {
  background: var(--mfe-blue);
  color: var(--mfe-white);
}

::-moz-selection {
  background: var(--mfe-blue);
  color: var(--mfe-white);
}




/* =========================================================
   MFEdespachante  REDES SOCIAIS
   ========================================================= */

#home-modern-cards.social-section {
    padding: 82px 0 88px;
    background: #EAF4FA;
    position: relative;
    overflow: hidden;
}

/* ---------------------------------------------------------
   TÍTULO
   --------------------------------------------------------- */

#home-modern-cards .social-section-header {
    text-align: center;
    margin-bottom: 42px;
}

#home-modern-cards .social-section-header h2 {
    margin: 0;
    padding: 0;
    color: #011935;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
}

#home-modern-cards .social-title-line {
    display: block;
    width: 52px;
    height: 3px;
    margin: 15px auto 13px;
    background: #3B8CC4;
    border-radius: 3px;
}

#home-modern-cards .social-section-header p {
    margin: 0;
    color: #587084;
    font-size: 15px;
    font-weight: 400;
}


/* ---------------------------------------------------------
   CONTAINER DAS REDES
   --------------------------------------------------------- */

#home-modern-cards .social-cards {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 24px;
    max-width: 980px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

#home-modern-cards .social-card {
    width: 285px;
    min-height: 145px;
    padding: 26px 28px;

    display: flex;
    align-items: center;
    gap: 22px;

    background: #ffffff;
    border: 1px solid rgba(1, 25, 53, 0.07);
    border-radius: 10px;

    text-decoration: none;
    color: #011935;

    box-shadow: 0 7px 24px rgba(1, 25, 53, 0.07);

    position: relative;
    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Pequena barra azul lateral */

#home-modern-cards .social-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: #3B8CC4;

    transform: scaleY(0);
    transform-origin: center;

    transition: transform 0.3s ease;
}


/* ---------------------------------------------------------
   ÍCONE
   --------------------------------------------------------- */

#home-modern-cards .social-card-icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #EAF4FA;
    color: #005299;

    font-size: 25px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


/* Garantir que as regras antigas de 150px
   não afetem estes ícones */

#home-modern-cards .social-card-icon i {
    font-size: 25px !important;
    line-height: 1;
}


/* ---------------------------------------------------------
   TEXTO
   --------------------------------------------------------- */

#home-modern-cards .social-card-content {
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}


/* Nome da rede */

#home-modern-cards .social-network {
    display: block;

    margin-bottom: 7px;

    color: #011935;

    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
}


/* Pequeno texto */

#home-modern-cards .social-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #6A7D8D;

    font-size: 13px;
    line-height: 1.3;
    font-weight: 400;

    transition: color 0.3s ease;
}


/* Seta */

#home-modern-cards .social-action i {
    font-size: 10px;
    transition: transform 0.3s ease;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

#home-modern-cards .social-card:hover {
    color: #011935;
    text-decoration: none;

    transform: translateY(-5px);

    border-color: rgba(59, 140, 196, 0.25);

    box-shadow: 0 14px 32px rgba(1, 25, 53, 0.12);
}


#home-modern-cards .social-card:hover::before {
    transform: scaleY(1);
}


#home-modern-cards .social-card:hover .social-card-icon {
    background: #005299;
    color: #ffffff;
    transform: scale(1.05);
}


#home-modern-cards .social-card:hover .social-action {
    color: #005299;
}


#home-modern-cards .social-card:hover .social-action i {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   REMOVER O SISTEMA ANTIGO DE HOVER
   --------------------------------------------------------- */

#home-modern-cards .card-hover {
    display: none !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 991px) {

    #home-modern-cards .social-cards {
        gap: 18px;
        padding: 0 15px;
    }

    #home-modern-cards .social-card {
        width: 30%;
        min-width: 210px;
    }

}


@media (max-width: 767px) {

    #home-modern-cards.social-section {
        padding: 62px 15px 68px;
    }

    #home-modern-cards .social-section-header {
        margin-bottom: 32px;
    }

    #home-modern-cards .social-section-header h2 {
        font-size: 27px;
    }

    #home-modern-cards .social-section-header p {
        font-size: 14px;
    }

    #home-modern-cards .social-cards {
        flex-direction: column;
        align-items: center;
        gap: 14px;
        padding: 0;
    }

    #home-modern-cards .social-card {
        width: 100%;
        max-width: 360px;
        min-height: 105px;
        padding: 20px 24px;
    }

    #home-modern-cards .social-card-icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    #home-modern-cards .social-card-icon i {
        font-size: 22px !important;
    }

    #home-modern-cards .social-network {
        font-size: 17px;
    }

    #home-modern-cards .social-action {
        font-size: 12px;
    }

}




/* =========================================================
   MFEdespachante
   VISÃO GERAL DOS SERVIÇOS
   ========================================================= */

#home-services-overview {
    padding: 95px 0 100px;
    background: #ffffff;
    position: relative;
}


/* ---------------------------------------------------------
   CABEÇALHO
   --------------------------------------------------------- */

#home-services-overview .services-overview-header {
    max-width: 760px;
    margin: 0 auto 55px;
}

#home-services-overview .services-eyebrow {
    display: block;
    margin-bottom: 12px;

    color: #3B8CC4;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 2px;
    text-transform: uppercase;
}

#home-services-overview .services-overview-header h2 {
    margin: 0;

    color: #011935;

    font-size: 34px;
    line-height: 1.25;
    font-weight: 600;
}

#home-services-overview .services-title-line {
    display: block;

    width: 52px;
    height: 3px;

    margin: 16px auto 17px;

    background: #3B8CC4;

    border-radius: 3px;
}

#home-services-overview .services-overview-header p {
    max-width: 650px;

    margin: 0 auto;

    color: #63788A;

    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}


/* ---------------------------------------------------------
   GRID
   --------------------------------------------------------- */

#home-services-overview .services-overview-grid {
    max-width: 1080px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

#home-services-overview .service-overview-card {
    min-height: 250px;

    position: relative;

    display: flex;
    flex-direction: column;

    padding: 30px 30px 27px;

    background: #ffffff;

    border: 1px solid #E1EAF0;
    border-radius: 8px;

    text-decoration: none;

    box-shadow: 0 5px 20px rgba(1, 25, 53, 0.045);

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Barra lateral */

#home-services-overview .service-overview-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background: #3B8CC4;

    transform: scaleY(0);

    transform-origin: bottom;

    transition: transform 0.3s ease;
}


/* ---------------------------------------------------------
   ÍCONE
   --------------------------------------------------------- */

#home-services-overview .service-overview-icon {
    width: 52px;
    height: 52px;

    margin-bottom: 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #EAF4FA;

    color: #005299;

    font-size: 20px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


/* ---------------------------------------------------------
   CONTEÚDO
   --------------------------------------------------------- */

#home-services-overview .service-overview-content {
    flex: 1;
}

#home-services-overview .service-number {
    display: block;

    margin-bottom: 7px;

    color: #8BA0AF;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

#home-services-overview .service-overview-content h3 {
    margin: 0 0 11px;

    color: #011935;

    font-size: 19px;
    line-height: 1.3;

    font-weight: 600;
}

#home-services-overview .service-overview-content p {
    margin: 0;

    color: #687D8E;

    font-size: 13.5px;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   SETA
   --------------------------------------------------------- */

#home-services-overview .service-overview-arrow {
    position: absolute;

    right: 27px;
    bottom: 25px;

    color: #9BB1C0;

    font-size: 13px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

#home-services-overview .service-overview-card:hover {
    text-decoration: none;

    transform: translateY(-5px);

    border-color: rgba(59, 140, 196, 0.30);

    box-shadow: 0 14px 32px rgba(1, 25, 53, 0.09);
}

#home-services-overview .service-overview-card:hover::before {
    transform: scaleY(1);
}

#home-services-overview .service-overview-card:hover
.service-overview-icon {
    background: #005299;
    color: #ffffff;

    transform: scale(1.05);
}

#home-services-overview .service-overview-card:hover
.service-overview-arrow {
    color: #005299;

    transform: translateX(4px);
}


/* ---------------------------------------------------------
   BOTÃO FINAL
   --------------------------------------------------------- */

#home-services-overview .services-overview-footer {
    margin-top: 43px;
}

#home-services-overview .btn-services-overview {
    display: inline-flex;

    align-items: center;
    gap: 10px;

    padding: 12px 24px;

    border: 1px solid #005299;
    border-radius: 4px;

    background: transparent;

    color: #005299;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition: all 0.3s ease;
}

#home-services-overview .btn-services-overview i {
    font-size: 11px;

    transition: transform 0.3s ease;
}

#home-services-overview .btn-services-overview:hover {
    background: #005299;
    color: #ffffff;

    text-decoration: none;
}

#home-services-overview .btn-services-overview:hover i {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991px) {

    #home-services-overview {
        padding: 80px 20px 85px;
    }

    #home-services-overview .services-overview-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 760px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #home-services-overview {
        padding: 65px 15px 70px;
    }

    #home-services-overview .services-overview-header {
        margin-bottom: 38px;
    }

    #home-services-overview .services-overview-header h2 {
        font-size: 27px;
    }

    #home-services-overview .services-overview-header p {
        font-size: 14px;
        line-height: 1.6;
    }

    #home-services-overview .services-overview-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    #home-services-overview .service-overview-card {
        min-height: 205px;
        padding: 25px 25px 23px;
    }

    #home-services-overview .service-overview-icon {
        width: 48px;
        height: 48px;

        margin-bottom: 18px;

        font-size: 18px;
    }

    #home-services-overview .service-overview-content h3 {
        font-size: 18px;
    }

    #home-services-overview .service-overview-content p {
        font-size: 13px;
    }

}


/* =========================================================
   MFEdespachante
   PORQUE ESCOLHER
   ========================================================= */

#mfe-why-us {
    padding: 95px 0 105px;
    background: #EAF4FA;
}


/* ---------------------------------------------------------
   CABEÇALHO
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-header {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

#mfe-why-us .mfe-why-header > span {
    display: block;
    margin-bottom: 11px;

    color: #3B8CC4;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

#mfe-why-us .mfe-why-header h2 {
    margin: 0;

    color: #011935;

    font-size: 34px;
    line-height: 1.25;
    font-weight: 600;
}

#mfe-why-us .mfe-why-header h2::after {
    content: "";

    display: block;

    width: 52px;
    height: 3px;

    margin: 16px auto 17px;

    background: #3B8CC4;

    border-radius: 3px;
}

#mfe-why-us .mfe-why-header p {
    margin: 0;

    color: #63788A;

    font-size: 16px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   GRID
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 18px;

    max-width: 1180px;

    margin: 0 auto;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-card {

    position: relative;

    display: flex;

    min-height: 420px;

    overflow: hidden;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    border-radius: 7px;

    text-decoration: none;

    box-shadow:
        0 10px 30px rgba(1,25,53,0.12);

    transition:
        transform 0.45s ease,
        box-shadow 0.45s ease;
}


/* ---------------------------------------------------------
   OVERLAY
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(1,25,53,0.94) 0%,
            rgba(1,25,53,0.70) 42%,
            rgba(1,25,53,0.12) 100%
        );

    transition:
        background 0.45s ease;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-content {

    position: relative;

    z-index: 2;

    align-self: flex-end;

    width: 100%;

    padding: 32px;
}

#mfe-why-us .mfe-why-number {

    display: block;

    margin-bottom: 10px;

    color: #66A9D6;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;
}

#mfe-why-us .mfe-why-content h3 {

    margin: 0 0 13px;

    color: #ffffff;

    font-size: 24px;
    line-height: 1.25;

    font-weight: 600;
}

#mfe-why-us .mfe-why-content p {

    max-width: 330px;

    margin: 0 0 22px;

    color: rgba(255,255,255,0.86);

    font-size: 14px;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   LINK
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-link {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 600;

    transition:
        color 0.3s ease,
        gap 0.3s ease;
}

#mfe-why-us .mfe-why-link i {

    font-size: 11px;

    transition:
        transform 0.3s ease;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-card:hover {

    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(1,25,53,0.20);

    text-decoration: none;
}

#mfe-why-us .mfe-why-card:hover .mfe-why-overlay {

    background:
        linear-gradient(
            to top,
            rgba(0,82,153,0.94) 0%,
            rgba(1,25,53,0.65) 48%,
            rgba(1,25,53,0.10) 100%
        );
}

#mfe-why-us .mfe-why-card:hover .mfe-why-link {

    color: #ffffff;

    gap: 13px;
}

#mfe-why-us .mfe-why-card:hover .mfe-why-link i {

    transform: translateX(4px);
}


/* ---------------------------------------------------------
   ZOOM DA IMAGEM
   --------------------------------------------------------- */

#mfe-why-us .mfe-why-card {
    background-size: 100%;

    transition:
        background-size 0.7s ease,
        transform 0.45s ease,
        box-shadow 0.45s ease;
}

#mfe-why-us .mfe-why-card:hover {
    background-size: 108%;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991px) {

    #mfe-why-us {
        padding: 80px 20px 85px;
    }

    #mfe-why-us .mfe-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    #mfe-why-us .mfe-why-card:last-child {
        grid-column: span 2;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #mfe-why-us {
        padding: 65px 15px 70px;
    }

    #mfe-why-us .mfe-why-header {
        margin-bottom: 35px;
    }

    #mfe-why-us .mfe-why-header h2 {
        font-size: 27px;
    }

    #mfe-why-us .mfe-why-header p {
        font-size: 14px;
    }

    #mfe-why-us .mfe-why-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    #mfe-why-us .mfe-why-card,
    #mfe-why-us .mfe-why-card:last-child {
        grid-column: auto;

        min-height: 350px;
    }

    #mfe-why-us .mfe-why-content {
        padding: 26px;
    }

    #mfe-why-us .mfe-why-content h3 {
        font-size: 21px;
    }

    #mfe-why-us .mfe-why-content p {
        font-size: 13px;
    }

}




   SLIDE ESPECIAL  35 ANOS MFEdespachante
   ========================================================= */

#main-slider .anniversary-slide {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}


/* Overlay azul escuro sobre a fotografia */
#main-slider .anniversary-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(1, 25, 53, 0.78) 0%,
            rgba(1, 25, 53, 0.52) 50%,
            rgba(1, 25, 53, 0.72) 100%
        );
}


/* Container ocupa toda a altura do slide */
#main-slider .anniversary-slide .container {
    position: relative;
    height: 100%;
    z-index: 2;
}


/* Conteúdo central */
#main-slider .anniversary-content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    max-width: 1000px;
    text-align: center;
    transform: translate(-50%, -50%);
}


/* "DESDE..." */
#main-slider .anniversary-eyebrow {
    display: block;
    margin-bottom: 15px;

    color: rgba(255,255,255,0.90);

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: 4px;
    text-transform: uppercase;
}


/* Bloco 35 ANOS */
#main-slider .anniversary-number {
    display: flex;
    align-items: baseline;
    justify-content: center;

    margin: 0;

    color: #ffffff;
    line-height: 0.85;

    text-shadow:
        0 4px 20px rgba(0,0,0,0.30);
}


/* Número 35 */
#main-slider .anniversary-number span {
    display: inline-block;

    font-size: 150px;
    line-height: 0.85;
    font-weight: 700;

    letter-spacing: -7px;
}


/* ANOS */
#main-slider .anniversary-number small {
    display: inline-block;

    margin-left: 18px;

    color: #66A9D6;

    font-size: 42px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 5px;
}


/* Frase principal */
#main-slider .anniversary-content h1 {
    margin: 25px 0 12px;

    color: #ffffff;

    font-size: 38px;
    line-height: 1.2;
    font-weight: 500;

    text-shadow:
        0 2px 8px rgba(0,0,0,0.35);
}


/* Texto secundário */
#main-slider .anniversary-content p {
    margin: 0 auto;

    color: rgba(255,255,255,0.88);

    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;

    letter-spacing: 0.2px;
}


/* Pequeno detalhe decorativo */
#main-slider .anniversary-content h1::before {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin: 0 auto 20px;

    background: #66A9D6;

    border-radius: 3px;
}


/* =========================================================
   ANIMAÇÃO DO SLIDE ESPECIAL
   ========================================================= */

#main-slider .anniversary-content {
    opacity: 0;
    transform: translate(-50%, -45%);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}


/* Quando o slide está ativo */
#main-slider .anniversary-slide.active .anniversary-content {
    opacity: 1;
    transform: translate(-50%, -50%);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    #main-slider .anniversary-number span {
        font-size: 125px;
    }

    #main-slider .anniversary-number small {
        font-size: 36px;
    }

    #main-slider .anniversary-content h1 {
        font-size: 32px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #main-slider .anniversary-content {
        width: 92%;
    }

    #main-slider .anniversary-eyebrow {
        margin-bottom: 12px;
        font-size: 10px;
        letter-spacing: 2.5px;
    }

    #main-slider .anniversary-number span {
        font-size: 90px;
        letter-spacing: -4px;
    }

    #main-slider .anniversary-number small {
        margin-left: 10px;
        font-size: 25px;
        letter-spacing: 3px;
    }

    #main-slider .anniversary-content h1 {
        margin-top: 22px;
        font-size: 25px;
    }

    #main-slider .anniversary-content p {
        font-size: 13px;
        line-height: 1.5;
    }

    #main-slider .anniversary-content h1::before {
        width: 42px;
        height: 2px;
        margin-bottom: 15px;
    }

}




/* =========================================================
   MFEdespachante — SOBRE NÓS
   CSS complementar
   Colocar no final de main.css
   ========================================================= */

/* ---------- HERO ---------- */
#mfe-about-hero {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #011935 url("../images/porto-canical.jpg") center center / cover no-repeat;
}

#mfe-about-hero .mfe-about-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(1,25,53,.92) 0%, rgba(1,25,53,.68) 48%, rgba(1,25,53,.30) 100%);
}

#mfe-about-hero .container {
    position: relative;
    z-index: 2;
}

#mfe-about-hero .mfe-about-hero-content {
    max-width: 760px;
    padding: 78px 0;
}

.mfe-eyebrow {
    display: block;
    margin-bottom: 14px;
    color: rgba(255,255,255,.86);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.mfe-eyebrow-blue {
    color: #3B8CC4;
}

#mfe-about-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 48px;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.7px;
}

#mfe-about-hero .mfe-about-hero-content > p {
    max-width: 690px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.90);
    font-size: 18px;
    line-height: 1.7;
    font-weight: 300;
}

.mfe-about-scroll {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    text-decoration: none !important;
    transition: all .25s ease;
}

.mfe-about-scroll i {
    width: 29px;
    height: 29px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.mfe-about-scroll:hover {
    color: #66A9D6 !important;
}

.mfe-about-scroll:hover i {
    border-color: #66A9D6;
    transform: translateY(3px);
}


/* ---------- BASE SECTIONS ---------- */
.mfe-about-section {
    padding: 92px 0;
    background: #fff;
}

.mfe-section-heading h2 {
    margin: 0 0 18px;
    color: #011935;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 500;
}

.mfe-section-heading-left h2 {
    max-width: 440px;
}

.mfe-title-line {
    display: inline-block;
    width: 54px;
    height: 3px;
    background: #3B8CC4;
    margin-bottom: 24px;
}

.mfe-title-line-light {
    background: #66A9D6;
}

.mfe-section-intro {
    max-width: 780px;
    margin: 0 auto;
    color: #68798A;
    font-size: 15px;
    line-height: 1.85;
}

.mfe-about-copy {
    padding-left: 28px;
}

.mfe-about-copy p,
.mfe-team-copy p {
    margin: 0 0 19px;
    color: #536576;
    font-size: 15px;
    line-height: 1.85;
}

.mfe-about-copy .mfe-lead {
    margin-bottom: 23px;
    color: #34495E;
    font-size: 18px;
    line-height: 1.8;
}

.mfe-about-copy strong {
    color: #011935;
    font-weight: 600;
}


/* ---------- 35 ANOS ---------- */
#mfe-about-anniversary {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #011935 url("../images/funchal.jpg") center 52% / cover no-repeat;
}

#mfe-about-anniversary .mfe-anniversary-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(1,25,53,.82), rgba(1,25,53,.58) 50%, rgba(1,25,53,.80));
}

#mfe-about-anniversary .container {
    position: relative;
    z-index: 2;
}

.mfe-anniversary-content {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.mfe-anniversary-year {
    display: block;
    margin-bottom: 10px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 4px;
}

.mfe-anniversary-number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 17px;
    line-height: 1;
}

.mfe-anniversary-number strong {
    color: #fff;
    font-size: 118px;
    line-height: .85;
    font-weight: 700;
    letter-spacing: -6px;
    text-shadow: 0 5px 25px rgba(0,0,0,.25);
}

.mfe-anniversary-number span {
    color: #66A9D6;
    font-size: 34px;
    font-weight: 600;
    letter-spacing: 5px;
}

.mfe-anniversary-content h2 {
    margin: 22px 0 10px;
    color: #fff;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 500;
}

.mfe-anniversary-content p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255,255,255,.85);
    font-size: 15px;
    line-height: 1.7;
}


/* ---------- EXPERIÊNCIA ---------- */
#mfe-about-experience {
    background: #F7FAFC;
}

.mfe-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px;
}

.mfe-experience-item {
    min-height: 190px;
    padding: 30px 28px;
    display: flex;
    gap: 20px;
    background: #fff;
    border: 1px solid #DCE8EF;
    transition: transform .25s ease, box-shadow .25s ease;
}

.mfe-experience-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(1,25,53,.08);
}

.mfe-experience-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #EAF4FA;
    color: #005299;
    font-size: 18px;
}

.mfe-experience-item h3 {
    margin: 2px 0 9px;
    color: #011935;
    font-size: 18px;
    font-weight: 600;
}

.mfe-experience-item p {
    margin: 0;
    color: #68798A;
    font-size: 13px;
    line-height: 1.7;
}


/* ---------- TIMELINE ---------- */
#mfe-about-timeline {
    padding: 88px 0 94px;
    background: #011935;
}

.mfe-section-heading-light h2 {
    color: #fff;
}

.mfe-timeline {
    position: relative;
    max-width: 1080px;
    margin: 50px auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.mfe-timeline::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 8%;
    right: 8%;
    height: 1px;
    background: rgba(102,169,214,.45);
}

.mfe-timeline-item {
    position: relative;
    padding: 42px 22px 0;
    text-align: center;
}

.mfe-timeline-dot {
    position: absolute;
    top: 4px;
    left: 50%;
    width: 13px;
    height: 13px;
    margin-left: -6px;
    border: 3px solid #011935;
    border-radius: 50%;
    background: #66A9D6;
    box-shadow: 0 0 0 1px rgba(102,169,214,.45);
}

.mfe-timeline-year {
    display: block;
    margin-bottom: 12px;
    color: #66A9D6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.mfe-timeline-content h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
}

.mfe-timeline-content p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 12px;
    line-height: 1.7;
}


/* ---------- FORMA DE TRABALHAR ---------- */
#mfe-about-working {
    background: #fff;
}

.mfe-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 48px;
}

.mfe-value-card {
    position: relative;
    min-height: 220px;
    padding: 31px 28px 28px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #DCE8EF;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.mfe-value-card:hover {
    transform: translateY(-4px);
    border-color: #B9D5E6;
    box-shadow: 0 14px 35px rgba(1,25,53,.07);
}

.mfe-value-number {
    position: absolute;
    top: 16px;
    right: 19px;
    color: #EAF4FA;
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
}

.mfe-value-icon {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    margin-bottom: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EAF4FA;
    border-radius: 50%;
    color: #005299;
}

.mfe-value-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 9px;
    color: #011935;
    font-size: 19px;
    font-weight: 600;
}

.mfe-value-card p {
    position: relative;
    z-index: 1;
    max-width: 300px;
    margin: 0;
    color: #68798A;
    font-size: 13px;
    line-height: 1.7;
}


/* ---------- MADEIRA / FOTO ---------- */
#mfe-about-madeira {
    display: grid;
    grid-template-columns: 52% 48%;
    min-height: 560px;
    background: #F7FAFC;
}

.mfe-madeira-image {
    min-height: 560px;
    background: #0B3457 url("../images/madeira.jpg") center center / cover no-repeat;
}

.mfe-madeira-content {
    display: flex;
    align-items: center;
    padding: 70px 7%;
}

.mfe-madeira-inner {
    max-width: 570px;
}

.mfe-madeira-inner h2 {
    margin: 0 0 17px;
    color: #011935;
    font-size: 37px;
    line-height: 1.2;
    font-weight: 500;
}

.mfe-madeira-inner .mfe-title-line {
    margin-bottom: 22px;
}

.mfe-madeira-inner p {
    margin: 0 0 17px;
    color: #536576;
    font-size: 14px;
    line-height: 1.85;
}

.mfe-madeira-quote {
    margin-top: 28px;
    padding-left: 20px;
    border-left: 3px solid #3B8CC4;
}

.mfe-madeira-quote span,
.mfe-madeira-quote strong {
    display: block;
    font-size: 21px;
    line-height: 1.35;
}

.mfe-madeira-quote span {
    color: #536576;
    font-weight: 300;
}

.mfe-madeira-quote strong {
    color: #005299;
    font-weight: 600;
}


/* ---------- EQUIPA ---------- */
#mfe-about-team {
    background: #fff;
}

.mfe-team-row {
    display: flex;
    align-items: center;
}

.mfe-team-copy {
    padding-left: 28px;
}

.mfe-team-highlight {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
    padding: 19px 21px;
    background: #F7FAFC;
    border-left: 3px solid #3B8CC4;
}

.mfe-team-highlight > i {
    color: #005299;
    font-size: 22px;
}

.mfe-team-highlight strong,
.mfe-team-highlight span {
    display: block;
}

.mfe-team-highlight strong {
    margin-bottom: 4px;
    color: #011935;
    font-size: 14px;
    font-weight: 600;
}

.mfe-team-highlight span {
    color: #68798A;
    font-size: 12px;
}


/* ---------- CTA ---------- */
#mfe-about-cta {
    padding: 65px 0;
    background: #005299;
}

.mfe-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.mfe-cta-inner h2 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 500;
}

.mfe-cta-inner p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 14px;
}

.mfe-cta-buttons {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mfe-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all .25s ease;
}

.mfe-btn-primary {
    color: #005299 !important;
    background: #fff;
}

.mfe-btn-primary:hover {
    color: #011935 !important;
    background: #EAF4FA;
}

.mfe-btn-outline {
    color: #fff !important;
    border-color: rgba(255,255,255,.55);
    background: transparent;
}

.mfe-btn-outline:hover {
    color: #005299 !important;
    border-color: #fff;
    background: #fff;
}


/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
    #mfe-about-hero {
        min-height: 430px;
    }

    #mfe-about-hero h1 {
        font-size: 40px;
    }

    .mfe-about-copy {
        padding-left: 0;
        margin-top: 25px;
    }

    .mfe-experience-grid,
    .mfe-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mfe-timeline {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 45px;
    }

    .mfe-timeline::before {
        display: none;
    }

    .mfe-timeline-item {
        padding-top: 30px;
    }

    .mfe-timeline-dot {
        top: 0;
    }

    #mfe-about-madeira {
        grid-template-columns: 1fr;
    }

    .mfe-madeira-image {
        min-height: 420px;
    }

    .mfe-madeira-content {
        padding: 60px 8%;
    }

    .mfe-team-row {
        display: block;
    }

    .mfe-team-copy {
        padding-left: 0;
        margin-top: 20px;
    }

    .mfe-cta-inner {
        display: block;
    }

    .mfe-cta-buttons {
        margin-top: 25px;
    }
}

@media (max-width: 767px) {
    #mfe-about-hero {
        min-height: 520px;
        background-position: 60% center;
    }

    #mfe-about-hero .mfe-about-hero-content {
        padding: 65px 15px;
    }

    #mfe-about-hero h1 {
        font-size: 34px;
    }

    #mfe-about-hero .mfe-about-hero-content > p {
        font-size: 15px;
        line-height: 1.65;
    }

    .mfe-about-section {
        padding: 65px 0;
    }

    .mfe-section-heading h2,
    .mfe-madeira-inner h2 {
        font-size: 29px;
    }

    #mfe-about-anniversary {
        min-height: 370px;
    }

    .mfe-anniversary-number strong {
        font-size: 92px;
    }

    .mfe-anniversary-number span {
        font-size: 27px;
    }

    .mfe-anniversary-content h2 {
        font-size: 28px;
    }

    .mfe-anniversary-content p {
        font-size: 13px;
    }

    .mfe-experience-grid,
    .mfe-values-grid {
        grid-template-columns: 1fr;
    }

    .mfe-experience-item {
        min-height: 0;
    }

    .mfe-timeline {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .mfe-timeline-item {
        padding: 30px 10px 0 35px;
        text-align: left;
    }

    .mfe-timeline-dot {
        left: 8px;
        margin-left: 0;
    }

    .mfe-madeira-image {
        min-height: 300px;
    }

    .mfe-madeira-content {
        padding: 55px 25px;
    }

    .mfe-cta-inner h2 {
        font-size: 25px;
    }

    .mfe-cta-buttons {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .mfe-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    #mfe-about-hero h1 {
        font-size: 30px;
    }

    .mfe-anniversary-number {
        gap: 10px;
    }

    .mfe-anniversary-number strong {
        font-size: 78px;
        letter-spacing: -4px;
    }

    .mfe-anniversary-number span {
        font-size: 22px;
        letter-spacing: 3px;
    }

    .mfe-anniversary-content h2 {
        font-size: 25px;
    }
}




/* =========================================================
   MFEdespachante — SERVIÇOS
   CSS complementar
   Colocar no final de main.css
   ========================================================= */

#mfe-services-hero {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #011935 url("../images/servicos.jpg") center center / cover no-repeat;
}

#mfe-services-hero .mfe-services-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(1,25,53,.93) 0%, rgba(1,25,53,.72) 48%, rgba(1,25,53,.28) 100%);
}

#mfe-services-hero .container {
    position: relative;
    z-index: 2;
}

.mfe-services-hero-content {
    max-width: 760px;
    padding: 75px 0;
}

.mfe-services-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 48px;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.7px;
}

.mfe-services-hero p {
    max-width: 670px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.88);
    font-size: 17px;
    line-height: 1.7;
    font-weight: 300;
}

.mfe-services-scroll {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all .25s ease;
}

.mfe-services-scroll i {
    width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
}

.mfe-services-scroll:hover {
    color: #66A9D6 !important;
}

.mfe-services-scroll:hover i {
    border-color: #66A9D6;
    transform: translateY(3px);
}


/* ---------- INTRO ---------- */
#mfe-services-intro {
    padding: 82px 0 50px;
    background: #fff;
}

.mfe-services-heading {
    max-width: 850px;
    margin: 0 auto;
}

.mfe-services-heading h2 {
    margin: 0 0 17px;
    color: #011935;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 500;
}

.mfe-services-heading .mfe-title-line {
    display: inline-block;
    width: 54px;
    height: 3px;
    margin-bottom: 20px;
    background: #3B8CC4;
}

.mfe-services-heading > p {
    max-width: 760px;
    margin: 0 auto;
    color: #68798A;
    font-size: 15px;
    line-height: 1.85;
}


/* ---------- SERVICE GRID ---------- */
#mfe-services-list {
    padding: 20px 0 90px;
    background: #fff;
}

.mfe-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mfe-service-card {
    position: relative;
    min-height: 245px;
    display: flex;
    flex-direction: column;
    padding: 30px 29px 27px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #D9E6EE;
    text-decoration: none !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.mfe-service-card:hover {
    transform: translateY(-5px);
    border-color: #AFCFE1;
    box-shadow: 0 16px 38px rgba(1,25,53,.09);
}

.mfe-service-number {
    position: absolute;
    top: 16px;
    right: 19px;
    color: #EDF5F9;
    font-size: 45px;
    line-height: 1;
    font-weight: 700;
}

.mfe-service-icon {
    position: relative;
    z-index: 1;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #EAF4FA;
    color: #005299;
    font-size: 19px;
}

.mfe-service-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    padding-right: 28px;
    color: #011935;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 600;
}

.mfe-service-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #68798A;
    font-size: 13px;
    line-height: 1.7;
}

.mfe-service-arrow {
    margin-top: auto;
    padding-top: 20px;
    color: #3B8CC4;
    font-size: 13px;
    transition: transform .25s ease;
}

.mfe-service-card:hover .mfe-service-arrow {
    transform: translateX(5px);
}


/* ---------- DETAILS ---------- */
#mfe-services-detail {
    padding: 10px 0 40px;
    background: #F5F9FB;
}

.mfe-service-detail-block {
    display: grid;
    grid-template-columns: 90px minmax(0, 760px);
    gap: 35px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 55px 0;
    border-bottom: 1px solid #DCE7ED;
    scroll-margin-top: 90px;
}

.mfe-service-detail-block:last-child {
    border-bottom: 0;
}

.mfe-detail-number {
    color: #3B8CC4;
    font-size: 35px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1px;
}

.mfe-detail-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #3B8CC4;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 2px;
}

.mfe-service-detail-block h2 {
    margin: 0 0 14px;
    color: #011935;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 500;
}

.mfe-service-detail-block p {
    max-width: 760px;
    margin: 0;
    color: #596C7D;
    font-size: 14px;
    line-height: 1.85;
}


/* ---------- CTA ---------- */
#mfe-services-cta {
    padding: 64px 0;
    background: #005299;
}

.mfe-services-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.mfe-services-cta h2 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 500;
}

.mfe-services-cta p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 14px;
    line-height: 1.7;
}

.mfe-services-cta-buttons {
    flex: 0 0 auto;
}

.mfe-services-cta .mfe-btn {
    min-height: 45px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #005299 !important;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all .25s ease;
}

.mfe-services-cta .mfe-btn:hover {
    color: #011935 !important;
    background: #EAF4FA;
}


/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
    .mfe-services-hero h1 {
        font-size: 40px;
    }

    .mfe-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mfe-service-detail-block {
        grid-template-columns: 65px minmax(0, 1fr);
        gap: 22px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .mfe-services-cta-inner {
        display: block;
    }

    .mfe-services-cta-buttons {
        margin-top: 25px;
    }
}

@media (max-width: 767px) {
    #mfe-services-hero {
        min-height: 500px;
        background-position: 60% center;
    }

    .mfe-services-hero-content {
        padding: 65px 15px;
    }

    .mfe-services-hero h1 {
        font-size: 34px;
    }

    .mfe-services-hero p {
        font-size: 15px;
    }

    #mfe-services-intro {
        padding: 65px 0 35px;
    }

    .mfe-services-heading h2 {
        font-size: 29px;
    }

    .mfe-services-grid {
        grid-template-columns: 1fr;
    }

    .mfe-service-card {
        min-height: 215px;
    }

    .mfe-service-detail-block {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .mfe-detail-number {
        font-size: 28px;
    }

    .mfe-service-detail-block h2 {
        font-size: 25px;
    }

    .mfe-services-cta h2 {
        font-size: 25px;
    }
}

@media (max-width: 480px) {
    .mfe-services-hero h1 {
        font-size: 30px;
    }

    .mfe-service-card {
        padding: 27px 24px;
    }
}


/* =========================================================
   MFEdespachante — INFORMAÇÃO ADUANEIRA
   CSS autónomo. Colocar no final de main.css.
   ========================================================= */

#mfe-info-hero{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden;background:#011935 url("../images/informacao.jpg") center center/cover no-repeat}
#mfe-info-hero .mfe-info-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,25,53,.94) 0%,rgba(1,25,53,.70) 54%,rgba(1,25,53,.38) 100%)}
#mfe-info-hero .container{position:relative;z-index:2}
.mfe-info-hero-content{max-width:780px;padding:78px 0}
.mfe-info-eyebrow,.mfe-info-eyebrow-blue{display:block;margin-bottom:14px;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.mfe-info-eyebrow{color:rgba(255,255,255,.88)}
.mfe-info-eyebrow-blue{color:#3B8CC4}
.mfe-info-hero-content h1{margin:0 0 20px;color:#fff;font-size:48px;line-height:1.12;font-weight:500;letter-spacing:-.7px}
.mfe-info-hero-content>p{max-width:700px;margin:0 0 30px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.7;font-weight:300}
.mfe-info-scroll{display:inline-flex;align-items:center;gap:12px;color:#fff!important;font-size:13px;font-weight:600;text-decoration:none!important}
.mfe-info-scroll i{width:29px;height:29px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}

.mfe-info-section{padding:88px 0;background:#fff}
.mfe-info-intro{background:#fff}
.mfe-info-intro-row,.mfe-info-official-row{display:flex;align-items:center}
.mfe-info-heading{padding-right:30px}
.mfe-info-heading h2{margin:0 0 18px;color:#011935;font-size:34px;line-height:1.2;font-weight:500}
.mfe-info-title-line{display:block;width:54px;height:3px;background:#3B8CC4}
.mfe-info-heading-center{text-align:center;padding:0}
.mfe-info-heading-center .mfe-info-title-line{margin:0 auto}
.mfe-info-section-intro{max-width:720px;margin:20px auto 0;color:#68798A;font-size:14px;line-height:1.8}
.mfe-info-copy{padding-left:28px;color:#536576}
.mfe-info-copy p{margin:0 0 16px;font-size:14px;line-height:1.85}
.mfe-info-copy .mfe-info-lead{font-size:17px;line-height:1.75}
.mfe-info-copy strong{color:#011935}

.mfe-info-resources{background:#F7FAFC}
.mfe-info-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.mfe-info-resource-card{position:relative;display:block;min-height:285px;padding:30px 28px 27px;background:#fff;border:1px solid #DCE8EF;color:inherit;text-decoration:none!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.mfe-info-resource-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(1,25,53,.09);border-color:#C4DCE9}
.mfe-info-resource-number{position:absolute;top:17px;right:19px;color:#A9C1D0;font-size:10px;font-weight:700;letter-spacing:1px}
.mfe-info-resource-icon{width:50px;height:50px;margin-bottom:21px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#EAF4FA;color:#005299;font-size:18px}
.mfe-info-resource-card h3{margin:0 0 10px;color:#011935;font-size:19px;font-weight:600}
.mfe-info-resource-card p{margin:0;color:#68798A;font-size:13px;line-height:1.72}
.mfe-info-resource-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:#005299;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.mfe-info-resource-link i{font-size:9px}

.mfe-info-dark{padding:88px 0 92px;background:#011935;color:#fff}
.mfe-info-heading-light span:first-child{display:block;margin-bottom:14px;color:#66A9D6;font-size:12px;font-weight:700;letter-spacing:3px}
.mfe-info-heading-light h2{max-width:720px;margin-left:auto;margin-right:auto;color:#fff}
.mfe-info-heading-light .mfe-info-title-line{background:#66A9D6}
.mfe-info-dark-intro{max-width:720px;margin:20px auto 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.8}
.mfe-info-operation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:48px;background:rgba(102,169,214,.25)}
.mfe-info-operation-item{position:relative;min-height:205px;padding:32px 27px;background:#011935;border:1px solid rgba(102,169,214,.08)}
.mfe-info-operation-item>span{position:absolute;top:19px;right:20px;color:rgba(102,169,214,.55);font-size:10px;font-weight:700;letter-spacing:1px}
.mfe-info-operation-item>i{display:flex;width:43px;height:43px;margin-bottom:19px;align-items:center;justify-content:center;border:1px solid rgba(102,169,214,.35);color:#66A9D6;font-size:16px}
.mfe-info-operation-item h3{margin:0 0 8px;color:#fff;font-size:18px;font-weight:500}
.mfe-info-operation-item p{margin:0;color:rgba(255,255,255,.66);font-size:13px;line-height:1.7}

#mfe-info-passengers{display:grid;grid-template-columns:52% 48%;min-height:500px;background:#F7FAFC}
.mfe-info-feature-image{min-height:500px;background:#0B3457 url("../images/informacao.jpg") center center/cover no-repeat}
.mfe-info-feature-content{display:flex;flex-direction:column;justify-content:center;padding:68px 8%}
.mfe-info-feature-content h2{margin:0 0 17px;color:#011935;font-size:37px;line-height:1.2;font-weight:500}
.mfe-info-feature-content .mfe-info-title-line{margin-bottom:22px}
.mfe-info-feature-content p{margin:0 0 16px;color:#536576;font-size:14px;line-height:1.85}
.mfe-info-main-link{align-self:flex-start;margin-top:8px}

.mfe-info-official{background:#fff}
.mfe-info-official-list{display:flex;flex-direction:column;gap:12px;padding-left:28px}
.mfe-info-official-item{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:15px;padding:14px 16px;color:inherit;background:#fff;border:1px solid #D5E5EF;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.mfe-info-official-item:hover{transform:translateX(3px);border-color:rgba(0,82,153,.28);box-shadow:0 8px 22px rgba(1,25,53,.07)}
.mfe-info-official-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#005299;background:#EAF4FA;font-size:16px}
.mfe-info-official-item strong{display:block;color:#011935;font-size:14px;line-height:1.35;font-weight:600}
.mfe-info-official-item small{display:block;margin-top:3px;color:#708493;font-size:11px;line-height:1.5}
.mfe-info-official-item>i{color:#9EB8C9;font-size:11px}

#mfe-info-cta{padding:65px 0;background:#005299}
.mfe-info-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.mfe-info-cta-inner h2{margin:0 0 9px;color:#fff;font-size:29px;line-height:1.25;font-weight:500}
.mfe-info-cta-inner p{margin:0;color:rgba(255,255,255,.78);font-size:14px}
.mfe-info-cta-buttons{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.mfe-info-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border:1px solid transparent;font-size:12px;font-weight:700;text-decoration:none;transition:.2s ease}
.mfe-info-btn-primary{color:#005299;background:#fff}
.mfe-info-btn-outline{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}

@media(max-width:991px){
 .mfe-info-resource-grid,.mfe-info-operation-grid{grid-template-columns:repeat(2,1fr)}
 .mfe-info-intro-row,.mfe-info-official-row{display:block}
 .mfe-info-copy,.mfe-info-official-list{padding-left:0;margin-top:35px}
 #mfe-info-passengers{grid-template-columns:1fr}
 .mfe-info-feature-image{min-height:360px}
 .mfe-info-cta-inner{display:block}
 .mfe-info-cta-buttons{margin-top:25px}
}

@media(max-width:767px){
 #mfe-info-hero{min-height:430px}
 .mfe-info-hero-content{padding:55px 0}
 .mfe-info-hero-content h1{font-size:36px}
 .mfe-info-hero-content>p{font-size:16px}
 .mfe-info-section{padding:65px 0}
 .mfe-info-heading h2{font-size:29px}
 .mfe-info-resource-grid,.mfe-info-operation-grid{grid-template-columns:1fr}
 .mfe-info-resource-card{min-height:0}
 .mfe-info-feature-image{min-height:300px}
 .mfe-info-feature-content{padding:55px 25px}
 .mfe-info-feature-content h2{font-size:30px}
 .mfe-info-official-item{grid-template-columns:44px minmax(0,1fr) 15px;gap:11px;padding:12px}
 .mfe-info-cta-inner h2{font-size:25px}
 .mfe-info-cta-buttons{flex-direction:column;align-items:stretch}
 .mfe-info-btn{text-align:center}
}




/* =========================================================
   MFEdespachante — Contactos
   Complementary styles
========================================================= */

.mfe-contact-hero {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #011935;
    background-image: url("../images/slider/bgcontactos.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.mfe-contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(1,25,53,.86) 0%, rgba(1,25,53,.62) 48%, rgba(1,25,53,.46) 100%);
}

.mfe-contact-hero .container {
    position: relative;
    z-index: 2;
}

.mfe-contact-hero-content {
    max-width: 760px;
    padding: 90px 0 80px;
}

.mfe-contact-eyebrow,
.mfe-contact-kicker {
    display: block;
    color: #66A9D6;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.mfe-contact-hero-content h1 {
    margin: 14px 0 16px;
    color: #fff;
    font-size: 52px;
    line-height: 1.08;
    font-weight: 500;
}

.mfe-contact-hero-content p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.88);
    font-size: 17px;
    line-height: 1.7;
}

.mfe-contact-scroll {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.45);
    padding-bottom: 7px;
}

.mfe-contact-scroll:hover {
    color: #66A9D6;
    text-decoration: none;
}

.mfe-contact-section {
    padding: 88px 0;
    background: #fff;
}

.mfe-contact-heading {
    max-width: 780px;
    margin: 0 auto 50px;
    text-align: center;
}

.mfe-contact-heading h2 {
    margin: 12px 0 14px;
    color: #011935;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 400;
}

.mfe-contact-heading > p {
    max-width: 700px;
    margin: 18px auto 0;
    color: #60758a;
    font-size: 16px;
    line-height: 1.75;
}

.mfe-contact-line {
    display: block;
    width: 54px;
    height: 3px;
    margin: 0 auto;
    background: #3B8CC4;
}

.mfe-contact-cards {
    display: flex;
    flex-wrap: wrap;
}

.mfe-contact-cards > [class*="col-"] {
    display: flex;
    margin-bottom: 25px;
}

.mfe-contact-card {
    width: 100%;
    padding: 38px 32px 34px;
    border: 1px solid #D5E5EF;
    background: #fff;
    box-shadow: 0 8px 28px rgba(1,25,53,.05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.mfe-contact-card:hover {
    transform: translateY(-5px);
    border-color: #9fc9e3;
    box-shadow: 0 16px 36px rgba(1,25,53,.09);
}

.mfe-contact-card-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    border-radius: 50%;
    background: #EAF4FA;
    color: #005299;
    font-size: 19px;
}

.mfe-contact-card-label {
    display: block;
    margin-bottom: 7px;
    color: #3B8CC4;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.mfe-contact-card h3 {
    margin: 0 0 15px;
    color: #011935;
    font-size: 23px;
    font-weight: 500;
}

.mfe-contact-card address,
.mfe-contact-card p {
    margin: 0;
    color: #60758a;
    font-size: 14px;
    line-height: 1.75;
    font-style: normal;
}

.mfe-contact-card a {
    color: #005299;
    text-decoration: none;
}

.mfe-contact-phone {
    margin-bottom: 5px !important;
    font-size: 17px !important;
}

.mfe-contact-email {
    margin-bottom: 8px !important;
    word-break: break-word;
}

.mfe-contact-small {
    font-size: 13px !important;
    max-width: 290px;
}

.mfe-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 21px;
    color: #005299 !important;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.mfe-contact-link:hover {
    color: #3B8CC4 !important;
}

.mfe-contact-location {
    background: #011935;
}

.mfe-contact-location-row {
    display: flex;
    flex-wrap: wrap;
}

.mfe-contact-map,
.mfe-contact-location-info {
    padding: 0;
}

.mfe-contact-map iframe {
    display: block;
    width: 100%;
    height: 520px;
    border: 0;
    filter: saturate(.78);
}

.mfe-contact-location-info {
    display: flex;
    align-items: center;
    background-color: #011935;
    background-image: url("../images/fondobg.png");
    background-position: center;
    background-size: cover;
    position: relative;
}

.mfe-contact-location-info::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(1,25,53,.78);
}

.mfe-contact-location-inner {
    position: relative;
    z-index: 2;
    max-width: 570px;
    padding: 75px 9%;
}

.mfe-contact-location-inner h2 {
    margin: 12px 0 15px;
    color: #fff;
    font-size: 38px;
    font-weight: 400;
}

.mfe-contact-location-inner .mfe-contact-kicker {
    color: #66A9D6;
}

.mfe-contact-location-inner .mfe-contact-line {
    margin: 0;
}

.mfe-contact-location-lead {
    margin: 24px 0 30px;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    line-height: 1.75;
}

.mfe-contact-address {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.mfe-contact-address-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(102,169,214,.14);
    color: #66A9D6;
}

.mfe-contact-address strong {
    display: block;
    margin-bottom: 6px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.mfe-contact-address p {
    margin: 0;
    color: rgba(255,255,255,.74);
    font-size: 14px;
    line-height: 1.7;
}

.mfe-contact-map-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 30px;
    padding: 11px 18px;
    border: 1px solid rgba(255,255,255,.30);
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.mfe-contact-map-button:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.55);
    text-decoration: none;
}

.mfe-contact-form-section {
    background: #F7FAFC;
}

.mfe-contact-form-box {
    max-width: 1000px;
    margin: 0 auto;
    padding: 42px 45px 45px;
    background: #fff;
    border: 1px solid #D5E5EF;
    box-shadow: 0 10px 35px rgba(1,25,53,.06);
}

.mfe-contact-form .row {
    margin-left: -12px;
    margin-right: -12px;
}

.mfe-contact-form .row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}

.mfe-form-group {
    margin-bottom: 24px;
}

.mfe-form-group label {
    display: block;
    margin-bottom: 8px;
    color: #011935;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
}

.mfe-form-group label sup {
    color: #3B8CC4;
    font-size: 11px;
}

.mfe-form-group input,
.mfe-form-group select,
.mfe-form-group textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #D5E5EF;
    border-radius: 0;
    background: #fff;
    color: #34495E;
    font-size: 14px;
    outline: none;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.mfe-form-group textarea {
    min-height: 150px;
    resize: vertical;
}

.mfe-form-group input:focus,
.mfe-form-group select:focus,
.mfe-form-group textarea:focus {
    border-color: #66A9D6;
    box-shadow: 0 0 0 3px rgba(102,169,214,.10);
}

.mfe-captcha input {
    max-width: 180px;
}

.mfe-form-submit-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: 24px;
}

.mfe-contact-submit {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 24px;
    border: 0;
    background: #005299;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.mfe-contact-submit:hover {
    background: #011935;
    transform: translateY(-1px);
}

.mfe-contact-cta {
    padding: 78px 0;
    background-color: #011935;
    background-image: url("../images/fondobg.png");
    background-position: center;
    background-size: cover;
    position: relative;
}

.mfe-contact-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(1,25,53,.78);
}

.mfe-contact-cta .container {
    position: relative;
    z-index: 2;
}

.mfe-contact-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.mfe-contact-cta-inner .mfe-contact-eyebrow {
    color: #66A9D6;
}

.mfe-contact-cta-inner h2 {
    margin: 12px 0 12px;
    color: #fff;
    font-size: 34px;
    font-weight: 400;
}

.mfe-contact-cta-inner p {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 15px;
}

.mfe-contact-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-top: 28px;
    padding: 13px 22px;
    border: 1px solid rgba(255,255,255,.42);
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.mfe-contact-cta-button:hover {
    background: rgba(255,255,255,.10);
    border-color: #fff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .mfe-contact-hero {
        min-height: 410px;
    }

    .mfe-contact-hero-content h1 {
        font-size: 44px;
    }

    .mfe-contact-location-row {
        display: block;
    }

    .mfe-contact-map iframe {
        height: 420px;
    }

    .mfe-contact-location-inner {
        max-width: none;
        padding: 65px 8%;
    }

    .mfe-contact-form-box {
        padding: 35px 28px 25px;
    }
}

@media (max-width: 767px) {
    .mfe-contact-hero {
        min-height: 390px;
    }

    .mfe-contact-hero-content {
        padding: 75px 0 65px;
    }

    .mfe-contact-hero-content h1 {
        font-size: 38px;
    }

    .mfe-contact-hero-content p {
        font-size: 15px;
    }

    .mfe-contact-section {
        padding: 65px 0;
    }

    .mfe-contact-heading {
        margin-bottom: 35px;
    }

    .mfe-contact-heading h2,
    .mfe-contact-location-inner h2 {
        font-size: 30px;
    }

    .mfe-contact-card {
        padding: 30px 25px;
    }

    .mfe-contact-map iframe {
        height: 350px;
    }

    .mfe-contact-location-inner {
        padding: 55px 25px;
    }

    .mfe-contact-form-box {
        padding: 30px 20px 18px;
    }

    .mfe-form-submit-wrap {
        justify-content: flex-start;
        padding-bottom: 20px;
    }

    .mfe-contact-submit {
        width: 100%;
        justify-content: center;
    }

    .mfe-contact-cta {
        padding: 62px 0;
    }

    .mfe-contact-cta-inner h2 {
        font-size: 28px;
    }
}





/* =========================================================
   FOOTER — MFEdespachante
   Fundo: images/fondobg.png
   Responsive / mobile optimized
   ========================================================= */

#bottom.mfe-footer {
    position: relative;
    overflow: hidden;
    padding: 72px 0 0;
    color: rgba(255,255,255,.82);
    background-color: #011935;
    background-image: url("../images/fondobg.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

#bottom.mfe-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(1,25,53,.86) 0%, rgba(1,25,53,.80) 100%);
}

#bottom.mfe-footer .mfe-footer-glow {
    position: absolute;
    top: -180px;
    right: -120px;
    width: 480px;
    height: 480px;
    z-index: 1;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,140,196,.13) 0%, rgba(59,140,196,0) 70%);
}

#bottom.mfe-footer .container {
    position: relative;
    z-index: 2;
}

/* ---------------------------------------------------------
   ESTRUTURA
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-main {
    display: grid;
    grid-template-columns: minmax(190px, 1.25fr) minmax(190px, 1fr) minmax(150px, .85fr) minmax(180px, 1fr);
    gap: 48px;
    padding-bottom: 58px;
}

#bottom.mfe-footer .mfe-footer-column {
    min-width: 0;
}

/* ---------------------------------------------------------
   MARCA / LOGO / ANIVERSÁRIO
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#bottom.mfe-footer .mfe-footer-logo-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 10px;
    padding: 0;
}

#bottom.mfe-footer .mfe-footer-logo {
    display: block;
    width: 180px;
    max-width: 100%;
    height: auto;
    margin: 0;
}

#bottom.mfe-footer .mfe-footer-years {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

#bottom.mfe-footer .mfe-footer-years-number {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    color: #66A9D6;
    font-size: 38px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1px;
}

#bottom.mfe-footer .mfe-footer-years > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

#bottom.mfe-footer .mfe-footer-years strong {
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#bottom.mfe-footer .mfe-footer-years > div span {
    display: block;
    margin: 3px 0 0;
    padding: 0;
    color: #66A9D6;
    font-size: 11px;
    line-height: 1.3;
    white-space: normal;
}

/* ---------------------------------------------------------
   TÍTULOS
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-column h3 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 13px;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;
}

#bottom.mfe-footer .mfe-footer-column h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30px;
    height: 2px;
    border-radius: 2px;
    background: #66A9D6;
}

/* ---------------------------------------------------------
   CONTACTOS
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

#bottom.mfe-footer .mfe-footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 18px;
    padding: 0;
}

#bottom.mfe-footer .mfe-footer-icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    border: 1px solid rgba(102,169,214,.30);
    border-radius: 50%;
    background: rgba(102,169,214,.08);
    color: #66A9D6;
    font-size: 12px;
}

#bottom.mfe-footer .mfe-footer-contact-list li > div {
    min-width: 0;
}

#bottom.mfe-footer .mfe-footer-contact-list strong {
    display: block;
    margin: 0 0 3px;
    color: #fff;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;
}

#bottom.mfe-footer .mfe-footer-contact-list span,
#bottom.mfe-footer .mfe-footer-contact-list a {
    color: rgba(255,255,255,.70);
    font-size: 12.5px;
    line-height: 1.65;
    text-decoration: none;
    overflow-wrap: anywhere;
}

#bottom.mfe-footer .mfe-footer-contact-list a:hover,
#bottom.mfe-footer .mfe-footer-nav a:hover,
#bottom.mfe-footer .mfe-footer-legal a:hover {
    color: #66A9D6;
}

#bottom.mfe-footer .mfe-footer-map {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
    padding: 8px 14px;
    border: 1px solid rgba(102,169,214,.35);
    border-radius: 4px;
    background: rgba(102,169,214,.07);
    color: #dceef9;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

#bottom.mfe-footer .mfe-footer-map:hover {
    border-color: #66A9D6;
    background: rgba(102,169,214,.16);
    color: #fff;
    transform: translateY(-2px);
}

/* ---------------------------------------------------------
   NAVEGAÇÃO
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#bottom.mfe-footer .mfe-footer-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    color: rgba(255,255,255,.68);
    font-size: 12.5px;
    line-height: 1.45;
    text-decoration: none;
    transition: color .25s ease, padding-left .25s ease;
}

#bottom.mfe-footer .mfe-footer-nav a i {
    flex: 0 0 auto;
    color: #66A9D6;
    font-size: 10px;
}

#bottom.mfe-footer .mfe-footer-nav a:hover {
    padding-left: 4px;
    color: #fff;
}

#bottom.mfe-footer .mfe-footer-hours {
    margin-top: 27px;
    padding-top: 19px;
    border-top: 1px solid rgba(255,255,255,.09);
}

#bottom.mfe-footer .mfe-footer-mini-label {
    display: block;
    margin-bottom: 8px;
    color: #66A9D6;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.4px;
}

#bottom.mfe-footer .mfe-footer-hours p {
    margin: 0 0 5px;
    color: rgba(255,255,255,.68);
    font-size: 11.5px;
    line-height: 1.55;
}

#bottom.mfe-footer .mfe-footer-hours strong {
    color: #fff;
    font-weight: 600;
}

#bottom.mfe-footer .mfe-footer-hours .mfe-footer-closed {
    color: rgba(255,255,255,.43);
}

/* ---------------------------------------------------------
   REDES SOCIAIS
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-social-text {
    max-width: 260px;
    margin: 0;
    color: rgba(255,255,255,.65);
    font-size: 12.5px;
    line-height: 1.7;
}

#bottom.mfe-footer .mfe-footer-socials {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 21px;
}

#bottom.mfe-footer .mfe-footer-socials a {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(102,169,214,.38);
    border-radius: 50%;
    background: rgba(255,255,255,.035);
    color: #dceef9;
    font-size: 14px;
    text-decoration: none;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

#bottom.mfe-footer .mfe-footer-socials a:hover {
    transform: translateY(-3px);
    border-color: #3B8CC4;
    background: #3B8CC4;
    color: #fff;
}

#bottom.mfe-footer .mfe-footer-company {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.09);
}

#bottom.mfe-footer .mfe-footer-company span {
    color: rgba(255,255,255,.42);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#bottom.mfe-footer .mfe-footer-company strong {
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 500;
}

/* ---------------------------------------------------------
   BARRA INFERIOR
   --------------------------------------------------------- */

#bottom.mfe-footer .mfe-footer-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    min-height: 72px;
    border-top: 1px solid rgba(255,255,255,.10);
}

#bottom.mfe-footer .mfe-footer-copyright {
    min-width: 0;
    color: rgba(255,255,255,.40);
    font-size: 10.5px;
    line-height: 1.5;
}

#bottom.mfe-footer .mfe-footer-legal {
    display: flex;
    align-items: center;
    min-width: 0;
}

#bottom.mfe-footer .mfe-footer-complaints {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.55);
    font-size: 10.5px;
    line-height: 1.4;
    text-decoration: none;
    transition: color .25s ease;
}

#bottom.mfe-footer .mfe-footer-complaints img {
    display: block;
    width: auto;
    height: 32px;
    max-width: 125px;
    object-fit: contain;
}

/* ---------------------------------------------------------
   RESPONSIVO — TABLET
   --------------------------------------------------------- */

@media (max-width: 1199px) {
    #bottom.mfe-footer .mfe-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 42px;
    }
}

/* ---------------------------------------------------------
   RESPONSIVO — MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
    #bottom.mfe-footer {
        padding: 50px 0 0;
    }

    #bottom.mfe-footer .container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    #bottom.mfe-footer .mfe-footer-main {
        display: flex;
        flex-direction: column;
        gap: 42px;
        padding-bottom: 42px;
    }

    #bottom.mfe-footer .mfe-footer-column {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }

    /* Marca centrada */
    #bottom.mfe-footer .mfe-footer-brand {
        align-items: center;
        text-align: center;
    }

    #bottom.mfe-footer .mfe-footer-logo-link {
        margin-bottom: 10px;
    }

    #bottom.mfe-footer .mfe-footer-logo {
        width: 175px;
    }

    #bottom.mfe-footer .mfe-footer-years {
        justify-content: center;
        width: auto;
        max-width: 100%;
        text-align: left;
    }

    /* Todos os títulos ficam realmente centrados no mobile,
       incluindo a pequena linha decorativa. */
    #bottom.mfe-footer .mfe-footer-column h3 {
        margin-bottom: 24px;
        padding-bottom: 12px;
        text-align: center;
    }

    #bottom.mfe-footer .mfe-footer-column h3::after {
        left: 50%;
        transform: translateX(-50%);
    }

    /* Conteúdo mantém alinhamento à esquerda para leitura. */
    #bottom.mfe-footer .mfe-footer-contact-list,
    #bottom.mfe-footer .mfe-footer-nav,
    #bottom.mfe-footer .mfe-footer-social-text,
    #bottom.mfe-footer .mfe-footer-company {
        text-align: left;
    }

    #bottom.mfe-footer .mfe-footer-contact-list li {
        gap: 12px;
        margin-bottom: 18px;
    }

    #bottom.mfe-footer .mfe-footer-contact-list span,
    #bottom.mfe-footer .mfe-footer-contact-list a {
        font-size: 12.5px;
    }

    #bottom.mfe-footer .mfe-footer-map {
        display: flex;
        width: fit-content;
        margin: 4px auto 0;
    }

    #bottom.mfe-footer .mfe-footer-nav {
        gap: 9px;
    }

    #bottom.mfe-footer .mfe-footer-nav a {
        width: 100%;
        padding: 0;
    }

    #bottom.mfe-footer .mfe-footer-nav a:hover {
        padding-left: 4px;
    }

    #bottom.mfe-footer .mfe-footer-hours {
        margin-top: 25px;
        text-align: center;
    }

    #bottom.mfe-footer .mfe-footer-social-text {
        max-width: 100%;
    }

    #bottom.mfe-footer .mfe-footer-socials {
        justify-content: flex-start;
        margin-top: 18px;
    }

    #bottom.mfe-footer .mfe-footer-company {
        margin-top: 22px;
    }

    #bottom.mfe-footer .mfe-footer-bottom-bar {
        flex-direction: column;
        justify-content: center;
        gap: 15px;
        min-height: 0;
        padding: 21px 0;
        text-align: center;
    }

    #bottom.mfe-footer .mfe-footer-legal {
        order: 1;
        justify-content: center;
        width: 100%;
    }

    #bottom.mfe-footer .mfe-footer-copyright {
        order: 2;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    #bottom.mfe-footer {
        padding-top: 42px;
    }

    #bottom.mfe-footer .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #bottom.mfe-footer .mfe-footer-main {
        gap: 38px;
        padding-bottom: 36px;
    }

    #bottom.mfe-footer .mfe-footer-column {
        max-width: 330px;
    }

    #bottom.mfe-footer .mfe-footer-logo {
        width: 165px;
    }

    #bottom.mfe-footer .mfe-footer-years-number {
        font-size: 36px;
    }

    #bottom.mfe-footer .mfe-footer-years strong {
        font-size: 12px;
    }

    #bottom.mfe-footer .mfe-footer-years > div span {
        font-size: 10.5px;
    }

    #bottom.mfe-footer .mfe-footer-socials a {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 13px;
    }

    #bottom.mfe-footer .mfe-footer-complaints {
        gap: 8px;
        font-size: 10px;
    }

    #bottom.mfe-footer .mfe-footer-complaints img {
        height: 30px;
        max-width: 115px;
    }
}

@media (max-width: 360px) {
    #bottom.mfe-footer .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    #bottom.mfe-footer .mfe-footer-column {
        max-width: 100%;
    }

    #bottom.mfe-footer .mfe-footer-years {
        gap: 8px;
    }

    #bottom.mfe-footer .mfe-footer-years-number {
        font-size: 34px;
    }

    #bottom.mfe-footer .mfe-footer-years > div span {
        white-space: normal;
    }
}






/* =========================================================
   MFE — PROMOÇÃO TRANSITÁRIO / DESPCARGA
========================================================= */

#mfe-forwarder-promo {
    position: relative;
    padding: 55px 0;
    background: #F4F8FB;
    overflow: hidden;
}

#mfe-forwarder-promo *,
#mfe-forwarder-promo *::before,
#mfe-forwarder-promo *::after {
    box-sizing: border-box;
}

#mfe-forwarder-promo .mfe-forwarder-box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.85fr);
    align-items: stretch;
    background: #FFFFFF;
    border: 1px solid #D5E5EF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(1, 25, 53, 0.045);
}

/* Conteúdo esquerdo */

#mfe-forwarder-promo .mfe-forwarder-content {
    padding: 38px 40px;
    min-width: 0;
}

#mfe-forwarder-promo .mfe-forwarder-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #005299;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    line-height: 1.5;
    text-transform: uppercase;
}

#mfe-forwarder-promo .mfe-forwarder-eyebrow-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #3B8CC4;
    box-shadow: 0 0 0 4px #EAF4FA;
}

#mfe-forwarder-promo .mfe-forwarder-content h2 {
    margin: 0 0 15px;
    color: #011935;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.6px;
}

#mfe-forwarder-promo .mfe-forwarder-content h2 span {
    color: #005299;
}

#mfe-forwarder-promo .mfe-forwarder-description {
    max-width: 610px;
    margin: 0;
    color: #536577;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.85;
}

/* Serviços apresentados como etiquetas */

#mfe-forwarder-promo .mfe-forwarder-services {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
}

#mfe-forwarder-promo .mfe-forwarder-services span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #34495E;
    font-size: 12px;
    line-height: 1.5;
    white-space: nowrap;
}

#mfe-forwarder-promo .mfe-forwarder-services i {
    color: #3B8CC4;
    font-size: 14px;
}

/* Painel direito */

#mfe-forwarder-promo .mfe-forwarder-action {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 32px;
    background: #011935;
    overflow: hidden;
}

#mfe-forwarder-promo .mfe-forwarder-action::before {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    right: -95px;
    top: -95px;
    border: 1px solid rgba(102, 169, 214, 0.22);
    border-radius: 50%;
    pointer-events: none;
}

#mfe-forwarder-promo .mfe-forwarder-action::after {
    content: "";
    position: absolute;
    width: 145px;
    height: 145px;
    right: -62px;
    top: -62px;
    border: 1px solid rgba(102, 169, 214, 0.17);
    border-radius: 50%;
    pointer-events: none;
}

#mfe-forwarder-promo .mfe-forwarder-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    margin-bottom: 20px;
    border: 1px solid rgba(102, 169, 214, 0.35);
    border-radius: 9px;
    background: rgba(59, 140, 196, 0.13);
    color: #66A9D6;
    font-size: 19px;
}

#mfe-forwarder-promo .mfe-forwarder-action-text {
    position: relative;
    z-index: 1;
}

#mfe-forwarder-promo .mfe-forwarder-action-text > span {
    display: block;
    margin-bottom: 9px;
    color: #66A9D6;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    line-height: 1.5;
}

#mfe-forwarder-promo .mfe-forwarder-action-text p {
    max-width: 270px;
    margin: 0 0 23px;
    color: #FFFFFF;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.55;
}

/* Botão */

#mfe-forwarder-promo .mfe-forwarder-button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 44px;
    padding: 12px 17px;
    border: 1px solid #66A9D6;
    border-radius: 5px;
    background: #66A9D6;
    color: #011935;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

#mfe-forwarder-promo .mfe-forwarder-button:hover,
#mfe-forwarder-promo .mfe-forwarder-button:focus {
    border-color: #FFFFFF;
    background: #FFFFFF;
    color: #011935;
    text-decoration: none;
    transform: translateY(-2px);
}

#mfe-forwarder-promo .mfe-forwarder-button i {
    font-size: 11px;
}

/* Tablet */

@media (max-width: 991px) {
    #mfe-forwarder-promo {
        padding: 42px 0;
    }

    #mfe-forwarder-promo .mfe-forwarder-box {
        grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.9fr);
    }

    #mfe-forwarder-promo .mfe-forwarder-content {
        padding: 30px 26px;
    }

    #mfe-forwarder-promo .mfe-forwarder-content h2 {
        font-size: 26px;
    }

    #mfe-forwarder-promo .mfe-forwarder-action {
        padding: 27px 23px;
    }

    #mfe-forwarder-promo .mfe-forwarder-services {
        gap: 10px 14px;
    }
}

/* Telemóveis */

@media (max-width: 767px) {
    #mfe-forwarder-promo {
        padding: 32px 0;
    }

    #mfe-forwarder-promo .mfe-forwarder-box {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 9px;
    }

    #mfe-forwarder-promo .mfe-forwarder-content {
        padding: 28px 23px;
    }

    #mfe-forwarder-promo .mfe-forwarder-content h2 {
        font-size: 25px;
        line-height: 1.3;
    }

    #mfe-forwarder-promo .mfe-forwarder-description {
        font-size: 13px;
        line-height: 1.8;
    }

    #mfe-forwarder-promo .mfe-forwarder-services {
        gap: 12px 15px;
        margin-top: 21px;
    }

    #mfe-forwarder-promo .mfe-forwarder-services span {
        font-size: 11px;
        white-space: normal;
    }

    #mfe-forwarder-promo .mfe-forwarder-action {
        padding: 25px 23px;
    }

    #mfe-forwarder-promo .mfe-forwarder-action-icon {
        margin-bottom: 15px;
    }

    #mfe-forwarder-promo .mfe-forwarder-action-text p {
        max-width: 100%;
        font-size: 16px;
    }
}

/* Telemóveis pequenos */

@media (max-width: 380px) {
    #mfe-forwarder-promo .mfe-forwarder-content {
        padding: 24px 18px;
    }

    #mfe-forwarder-promo .mfe-forwarder-content h2 {
        font-size: 23px;
    }

    #mfe-forwarder-promo .mfe-forwarder-services {
        gap: 11px 12px;
    }

    #mfe-forwarder-promo .mfe-forwarder-action {
        padding: 23px 18px;
    }
}