/* CUSTOM */
a:hover { color: rgba(var(--bs-primary-rgb), .6); }
section[class^="s-"] { display: none; }
section[class^="s-"].show { display: block; }
.btn-colors { width: 200px; }
.btn-colors button {
    width: 24px;
    height: 24px;
    margin: 5px;
    border: 0;
    border-radius: 50%;
}
.btn-colors button.active {
    border: 2px solid white;
    box-shadow: 0px 0px 0px 2px currentColor;
}
.green {background-color:currentColor;color:#429244;}
.blue {background-color:currentColor;color:#2b90d9;}
.sea {background-color:currentColor;color:#379392;}
.violet {background-color:currentColor;color:#9055A2;}
.red {background-color:currentColor;color:#FF3F3F;}	  
.pink {background-color:currentColor;color:#EF5285;}
.orange {background-color:currentColor;color:#FAC23E;}
.brown {background-color:currentColor;color:#A27A6E;}
.navbar-brand img {
    border-radius: 5%;
    width: 80px;
    height: 70px;
    display: block;
    margin-right: 6px;
}
.navbar-brand div .mp-logo {
    font-size: 1.4rem;
    font-weight: 700;
    color: #222;
}
.navbar-brand div span:not(.mp-logo) {
    color: black;
    line-height: 0.6;
    font-size: .875rem;
}
.hero-home {
	min-height: 430px;	
}
.hero-home::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    background: black;
	opacity: 0.3;
    z-index: 1;
	transition: opacity 0.5s;
}
.btn.hero {
	transition: filter .5s;
}
.lined {
    display: inline-block;
    position: relative;
    padding-bottom: 0.7rem;
}
.lined::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 4rem;
    height: 2px;
    background: var(--bs-primary);	
}
.lined::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 3.3rem;
    width: 0.7rem;
    height: 2px;
    background: var(--bs-primary);
}
.lined-center::before {
    left: calc(50% - 2rem);
}
.lined-center::after {
    left: calc(50% + 2.3rem);
}
#header-top, .navbar {
	transition: background .5s;
}
p.numeric-count {
    position: absolute;
    top: -50px;
    font-size: 10rem;
     color: rgba(var(--bs-primary-rgb),.3);
    z-index: -1;
}
/* MENU HAMBURGER */
.navbar-toggler {
    padding: 0;
    border: 1px solid transparent!important;
}
.navbar-toggler:focus {
	box-shadow: 0 5px 10px rgba(0,0,0,0.15);
}
.navbar-toggler {
    height: 40px;
    width: 45px;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 5px 10px rgba(0,0,0,0.15);
    display: flex;
    justify-content: center;
    cursor: pointer;
    transition: all 0.4s linear;
    overflow: hidden;
}
.navbar-toggler.active{
    background-color: #de0611;
}
.navbar-toggler-icone{
    position: relative;
    height: 100%;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.navbar-toggler-icone .line{
    position: absolute;
    height: 4px;
    width: 100%;
    border-radius: 6px;
    background-color: var(--bs-primary);
    transition: all 0.4s linear;
}
.navbar-toggler-icone .line.one{
    top: 8px;
}
.navbar-toggler.active .line.one{
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    background-color: #fff;
}
.navbar-toggler-icone .line.three{
    bottom: 8px;
}
.navbar-toggler-icone .line.two{
    left: 0;
    opacity: 1;
}
.navbar-toggler.active .line.two{
    left: -100%;
    opacity: 0;
    background-color: #de0611;
}
.navbar-toggler.active .line.three{
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
    background-color: #fff;
}
/* SWIPER CUSTOM */
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    box-shadow: 0px 0px 0px 3px var(--bs-primary);
}
.swiper-pagination-bullet-active, .swiper-pagination-bullet:hover {
    background: white;
}
.swiper-pagination-bullet {
    background: white;
    opacity: 1;
    padding: 6px;
}
/* SERVICES ITENS */
.card:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: -2px;
    transition: .5s;
    background-color: rgba(var(--bs-primary-rgb), 0.3);
    z-index: -1;
}
.card:hover:after {
    transform: rotate(13deg);
    top: 0;
}
.services-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 65px;
    font-size: 34px;
    border: 1px solid rgba(var(--bs-primary-rgb),.6);
	color: rgba(var(--bs-primary-rgb),.6);
    border-radius: 50%;
    transition: .5s;    
}
.card:hover .services-item {
    background-color: var(--bs-primary);
	border-color: var(--bs-primary);
    color: #FFF;
}


.services-item-text {
    color: #939ba2;
    transition: all 0.5s;
}
.services-btn {
    background-color: rgba(var(--bs-primary-rgb),.6);
    border-radius: 20px;
    padding: .25rem 1.6rem;
    font-size: .875rem;
    margin-top: 20px;
    width: 126px;
    transition: .5s;
}
.card:hover .services-btn {
    padding-left: 10px;
    background-color: rgb(var(--bs-primary-rgb));    
}
.services-btn span {
    position: relative;
}
.services-btn span:after {
    content: '\00bb';
    position: absolute;
    top: -10px;
    right: -20px;
    font-size: 1.5rem;
    font-weight: 500;
    color: #FFF;
    opacity: 0;
    transition: .5s;
}
.card:hover span:after {
    opacity: 1;
}
.map-bg::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: url(https://d19m59y37dris4.cloudfront.net/corporate/2-0/img/map.2c4ad30a.svg) no-repeat;
    background-size: auto 100%;
    background-position: center;
    opacity: 0.01;
}
.with-pattern::before {
    content: '';
    display: block;
    width: 100vw;
    padding-bottom: 50%;
    position: absolute;
    top: 0;
    right: 0;
    background: url(https://d19m59y37dris4.cloudfront.net/corporate/2-0/img/pattern.f152d319.svg) repeat;
    background-size: 20rem;
    background-position: top left;
    opacity: 0.05;
}
.footer-logo-emp {
	width: 120px;
	margin-left: 10px;
}
/* FAQ */
.s-faq .faq-list ul {
	list-style: none;
	padding: 0;
}
.s-faq .faq-list li {
    padding: 0px 20px;
    background: #fff;
    border-radius: 4px;
    position: relative;
}
.s-faq .faq-list a.collapsed {
    color: var(--bs-dark);
    transition: 0.3s;
}
.s-faq .faq-list a.collapse:not(.collapsed) {
    color: var(--bs-primary);
}
.s-faq .faq-list a.collapsed:hover {
    color: rgba(var(--bs-primary-rgb), .6);
}
.s-faq .faq-list .icon-show, .faq .faq-list .icon-close {
    font-size: 24px;
    position: absolute;
    right: 0;
    top: 50%;
	transform: translate3d(0px, -50%, 0px);
	color: var(--bs-primary);
}
.s-faq .faq-list a {
    display: block;
    position: relative;
    font-size: 1rem;
    line-height: 24px;
    font-weight: 500;
    padding: 25px 30px;
    outline: none;
    cursor: pointer;
}
.s-faq .faq-list .icon-help {
    font-size: 20px;
    position: absolute;
    right: 0;
	top: 50%;
    transform: translate3d(0px, -50%, 0px);
    left: 0px;
    color: rgba(var(--bs-primary-rgb),.8);
}
.s-faq .faq-list .icon-show {
	visibility: hidden;
}
.s-faq .faq-list a.collapsed .icon-close {
	visibility: hidden;
}
.s-faq .faq-list a.collapsed .icon-show {
	visibility: visible;
}
/* glossária */
.nav-pills .nav-link {
    background: #f8f9fa;
    color: #212529;
    padding: 1rem;
    font-size: 1rem;
}
/* buttom scroll top */
.btn-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: var(--bs-primary);
    filter: brightness(0.9);
    color: white;
    padding: 8px 14px;
    font-size: 1.4rem;
    visibility: hidden;
    opacity: 0;
	cursor: pointer;
	transition: .5s;	
    z-index: 1000;
}
.btn-top.show {
    visibility: visible;
    opacity: 1;	
}
/* Toast */
.swal2-toast {
    display: flex!important;
}
/* LOADING */
.container-loader {
	position: fixed;
    width: 100%;
    height: 100%;
    display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
	background: rgb(42,77,116);
	background: radial-gradient(circle, rgba(42,77,116,1) 0%, rgba(255,255,255,1) 100%);
    z-index: 10000;
}

.container-loader .load {
/*     position: relative; */
    display: flex;
    justify-content: center;
    align-items: center;
}

.container-loader .spin {
    position: relative;
    background-color: #00000030;
    height: 80px;
    width: 80px;
    border-radius: 80px;
    border: 6px solid #263c54;
    border-top: 5px solid #ffffff;
    animation: loading 2s linear infinite;
    margin-right: -10px;
    box-sizing: content-box;
}

.container-loader .logo {
    position: absolute;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    right: calc(50% + 46px);
}

.container-loader .logo img {
	width: 78px;
}

.container-loader .loading {
    position: relative;
    font-size: 1rem;
    font-weight: bold;
    color: #ffffff;
    font-family: Arial, sans-serif;
    background: #2b4867;
    padding: 12px 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    text-transform: uppercase;
    text-align: center;
    width: 180px;
    z-index: -1;
}

@keyframes loading {
  100% {
    transform: rotate(360deg);
  }
}

/*
.container-loader h3 {
    color: var(--bs-primary);
    font-family: consolas;
    letter-spacing: 6px;
}

.container-loader .loader {
    position: relative;
    display: flex;
}

.container-loader .loader .dot {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    background: var(--bs-primary);
    box-shadow: 0 0 10px var(--bs-primary),0 0 10px var(--bs-primary),0 0 20px var(--bs-primary),0 0 40px var(--bs-primary),0 0 60px var(--bs-primary),0 0 80px var(--bs-primary),0 0 100px var(--bs-primary); 
    margin: 20px 10px;
    border-radius: 50%;
    transform: scale(0.1);
    animation: animateDot 2s linear infinite;
    animation-delay: calc(0.1s * var(--i));
}
.container-loader .loader:last-child .dot {
	animation-delay: calc(-0.1s * var(--i));
}
@keyframes animateDot {
    0% {
        transform: scale(0.1);
    }
    10% {
        transform: scale(1);
    }
    50%,100% {
        transform: scale(0.1)
    }
}
@keyframes changeColor {
    0%{
        filter: hue-rotate(0deg);
    }
    100%{
        filter: hue-rotate(360deg);
    }
} */
/* MODO DARK */
.modo-dark {
    display: block;
    width: 2.3rem;
    height: 1.5rem;
    border-radius: 15%;
    background: var(--bs-gray-100);
    cursor: pointer;
}
#navbarDropdownMenuLink {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.3rem;
    height: 1.5rem;
    border-radius: 15%;
    background: var(--bs-gray-100);
    color: var(--bs-primary)!important;
}
.modo-dark:before {
    content: '\f186';
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: 'Font Awesome 5 Free';
    color: var(--bs-primary);
}
body.dark,
body.dark .navbar,
body.dark .s-faq {
	background-color: #37404a !important;
}
body.dark .modo-dark {
	background-color: var(--bs-primary);
}
body.dark #header-top .fas {
	color: var(--bs-primary);
}
body.dark .modo-dark:before {
    content: '\f185';
	color: var(--bs-gray-100);
}
body.dark #header-top,
body.dark .dropdown-menu.show,
body.dark .contacts,
body.dark .s-faq .faq-list li,
body.dark .service-card{
	background-color: #2e353e!important;
}
body.dark .navbar-brand .mp-logo,
body.dark .contacts h3 {
	color: var(--bs-primary);
}
body.dark .s-home .card, body.dark .nav-pills .nav-link:not(.active) {
	background-color: #2e353e;
}
body.dark h1, body.dark h2, body.dark h3, body.dark h4, body.dark h5, body.dark a, body.dark .nav-pills .nav-link,
body.dark .navbar-brand div span:not(.mp-logo), body.dark .navbar-light .navbar-nav .nav-link:not(.active),
body.dark .services-item-heading, body.dark .s-faq .faq-list a.collapsed {
	color: #FFF;
}
body.dark .dark-overlay::after {
	opacity: .985;
}
body.dark .btn-primary, body.dark .btn-primary:hover {
	background-color: #2e353e;
}
body.dark .hero-home::before {
	opacity: 0.8;
}
@media (max-width: 576px) {
  .container-loader .loader .dot {
		margin: 20px 6px;
  }	
  .navbar-brand div .mp-logo {
    font-size: 1.25rem;
  }
  .navbar-brand div span:not(.mp-logo) {
    line-height: 1;
    width: 240px;
    white-space: pre-wrap;
  }
  .navbar-toggler {
    position: absolute;
    top: -36px;
    height: 30px;
  }	
  .navbar-toggler-icone {
	width: 26px
  }
  .navbar-toggler-icone .line.three {
	bottom: 4px;
  }
  .navbar-toggler-icone .line.one {
	top: 4px;
  }	
}