/*--------------------------------------------------------------
# General v-03jul2026 (ESSENCIAL - index.html)
--------------------------------------------------------------*/
:root {
  --font-default: 'Poppins', sans-serif;
  --font-primary: 'Poppins', sans-serif;
  --font-secondary: 'Poppins', sans-serif;
  scroll-behavior: smooth;
  --color-bg: #025add;
  --hero-overlay-color: transparent;
  --menu-color: #ffffff;
  --theme-color: #025add;
  --border-color: #e2e2e2;
  --theme-color-dark: #f8f8f8;
  --text-color: #3a3a3a;
  --hero-text-color: #ffffff;
  --text-white-color: #ffffff;
  --text-grey-color: #3a3a3a;
  --text-theme-color: #025add;
  --light-color: #ffffff;
  --color-default: #3a3a3a;
  --color-primary: #025add;
  --color-secondary: #0c6de0;
  --color-start: #3a3a3a;
  --color-end: #3a3a3a;
  --hero-card-bg: rgb(228 227 223 / 17%);
  --box-shadow-color: rgb(82 90 101 / 10%);
}

body {
  font-family: var(--font-default);
  color: var(--text-color);
  background: var(--theme-color);
  transition: 0.5s background ease;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-primary);
}

img {
  transition: 0.3s;
}

img:hover {
  transform: scale(1.1);
}

.img_folder {
  transition: none;
}

.img_folder:hover {
  transform: none;
}

.hide-on-mobile {
  display: block;
}

/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section {
  padding: 60px 0;
  overflow: hidden;
  background: var(--light-color);
}

.sections-bg {
  background-color: var(--theme-color-dark);
}

.section-header {
  text-align: center;
  padding-bottom: 20px;
}

.section-header1 {
  text-align: left;
  padding-bottom: 20px;
}

.section-header h2, h1 {
  font-size: 32px;
  position: relative;
  color: var(--color-primary);
}

.section-header p {
  margin-bottom: 0;
  color: #0f0f0f;
}

/*--------------------------------------------------------------
# Scroll top button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 99999;
  background: var(--color-primary);
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.scroll-top:hover {
  background: rgb(16 16 16 / 80%);
  color: #fff;
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: var(--color-primary);
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(48% - 3px);
  left: calc(48% - 3px);
  border: 2px solid #fff;
  border-color: var(--light-color) transparent var(--light-color) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1.5s linear infinite;
  animation: animate-preloader 1.5s linear infinite;
}

@-webkit-keyframes animate-preloader {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes animate-preloader {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
  .hide-on-mobile {
    display: none !important;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
  transition: all 0.5s;
  z-index: 997;
  height: 90px;
}

.header.sticked {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: 90px;
}

.header .logo img {
  max-height: 40px;
  margin-right: 06px;
}

.header.stikcy-menu {
  background: var(--light-color);
}

.header.stikcy-menu .logo h1 {
  color: var(--color-primary);
}

.header .logo h1 {
  font-size: 30px;
  margin: 0;
  letter-spacing: 0.8px;
  color: var(--color-primary);
  font-family: var(--font-primary);
}

.header .logo h1 span {
  color: var(--color-primary);
}

.sticked-header-offset {
  margin-top: 0;
}

section {
  background: var(--light-color);
}

/*--------------------------------------------------------------
# Desktop Navigation
--------------------------------------------------------------*/
@media (min-width: 1280px) {
  .navbar { padding: 0; }
  .navbar ul {
    margin: 0; padding: 0;
    display: flex; list-style: none; align-items: center;
  }
  .navbar li { position: relative; }
  .navbar > ul > li {
    white-space: nowrap;
    padding: 10px 0 10px 28px;
  }
  .navbar a, .navbar a:focus {
    display: flex; align-items: center; justify-content: space-between;
    font-family: var(--font-secondary); font-size: 16px; font-weight: 600;
    color: var(--menu-color); white-space: nowrap; transition: 0.3s; position: relative;
  }
  .stikcy-menu .navbar a { color: var(--text-color); }
  .navbar a i, .navbar a:focus i {
    font-size: 12px; line-height: 0; margin-left: 5px;
  }
  .navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a {
    color: var(--color-primary);
  }
  .navbar .dropdown ul {
    display: block; position: absolute; left: 28px; top: calc(100% + 30px);
    margin: 0; padding: 10px 0; z-index: 99; opacity: 0; visibility: hidden;
    background: var(--light-color); box-shadow: 0px 0px 30px rgba(127,137,161,0.25);
    transition: 0.3s; border-radius: 0px;
  }
  .navbar .dropdown ul li { min-width: 200px; }
  .navbar .dropdown ul a {
    padding: 10px 20px; font-size: 15px; font-weight: 400; color: var(--text-color);
  }
  .navbar .dropdown ul a i { font-size: 12px; }
  .navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a {
    color: var(--color-primary);
  }
  .navbar .dropdown:hover > ul {
    opacity: 1; top: 100%; visibility: visible;
  }
  .navbar .dropdown .dropdown ul {
    top: 0; left: calc(100% - 30px); visibility: hidden;
  }
  .navbar .dropdown .dropdown:hover > ul {
    opacity: 1; top: 0; left: 100%; visibility: visible;
  }
}

@media (min-width: 1280px) and (max-width: 1366px) {
  .navbar .dropdown .dropdown ul { left: -90%; }
  .navbar .dropdown .dropdown:hover > ul { left: -100%; }
}

@media (min-width: 1280px) {
  .mobile-nav-show, .mobile-nav-hide { display: none; }
}

/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (max-width: 1279px) {
  .navbar {
    position: fixed; top: 0; right: -100%; width: 100%; max-width: 400px;
    bottom: 0; transition: 0.3s; z-index: 9997;
  }
  .navbar ul {
    position: absolute; inset: 0; padding: 50px 0 10px 0; margin: 0;
    background: var(--color-primary); overflow-y: auto; transition: 0.3s; z-index: 9998;
  }
  .navbar a, .navbar a:focus {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 20px; font-family: var(--font-primary); font-size: 15px;
    color: rgb(255 255 255); white-space: nowrap; transition: 0.3s;
  }
  .navbar a i, .navbar a:focus i {
    font-size: 12px; line-height: 0; margin-left: 5px;
  }
  .navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a { color: #fff; }
  .navbar .getstarted, .navbar .getstarted:focus {
    background: var(--color-primary); padding: 8px 20px; border-radius: 4px; margin: 15px; color: #fff;
  }
  .navbar .getstarted:hover, .navbar .getstarted:focus:hover {
    color: #fff; background: rgba(0,131,116,0.8);
  }
  .navbar .dropdown ul, .navbar .dropdown .dropdown ul {
    position: static; display: none; padding: 10px 0; margin: 10px 20px;
    transition: all 0.5s ease-in-out; background-color: var(--color-primary);
  }
  .navbar .dropdown > .dropdown-active, .navbar .dropdown .dropdown > .dropdown-active { display: block; }
  .mobile-nav-show {
    color: var(--color-primary); font-size: 28px; cursor: pointer; line-height: 0;
    transition: 0.5s; z-index: 9999; margin-right: 10px;
  }
  .mobile-nav-hide {
    color: #fff; font-size: 32px; cursor: pointer; line-height: 0;
    transition: 0.5s; position: fixed; right: 20px; top: 20px; z-index: 9999;
  }
  .mobile-nav-active { overflow: hidden; }
  .mobile-nav-active .navbar { right: 0; }
  .mobile-nav-active .navbar:before {
    content: ""; position: fixed; inset: 0; background: rgb(0 0 0 / 80%); z-index: 9996;
  }
}

/*--------------------------------------------------------------
# Featured Section
--------------------------------------------------------------*/
.left { text-align: right; }
.right { text-align: left; }

.list-wrap {
  display: flex; gap: 20px; margin-bottom: 30px;
}
.list-wrap p { color: var(--text-color); }
.list-wrap:nth-child(3), .list-wrap:nth-child(6) { margin-bottom: 0; }
.list-wrap .description h4 { color: var(--text-color); }

.icon {
  width: 150px; text-align: center; height: 100px; border-radius: 50%;
}
.icon svg { width: 100%; }

.list-center-wrap {
  display: flex; gap: 20px; align-items: center; justify-content: center;
  vertical-align: middle; height: 100%;
}
.center-icon { width: 100%; text-align: center; }
.center-icon img { width: 100%; border-radius: 20px; opacity: 0.9; }

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%; position: relative;
  background: url(../images/hero-bg.webp) center center;
  background-size: cover; padding: 10px 0 0 0;
  height: 100vh; min-height: 700px;
  display: flex; align-items: center; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; left: 0px; right: 0px; top: 0px;
  width: 100%; height: 100%; opacity: 0.6; z-index: 0; margin-top: 0;
  background: linear-gradient(360deg, var(--hero-overlay-color), var(--hero-overlay-color));
}
.hero .circle { color: var(--color-primary); }

@media (min-width: 1365px) {
  .hero { background-attachment: fixed; }
}

.dark-bg {
  padding: 1px 30px 100px; border-radius: 8px;
}

.social {
  margin-top: 30px; margin-bottom: 30px;
  display: flex; align-items: center; gap: 10px;
}
.social a {
  color: var(--text-color); transition: 0.3s; border-radius: 50%;
  width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
}
.social a:hover { color: var(--color-primary); border-color: var(--color-primary); }
.social i { font-size: 14px; margin: 0 2px; color: var(--color-primary); }

.hero h1, h2 {
  font-size: 40px; margin-bottom: 20px; color: var(--hero-text-color);
  text-transform: capitalize; letter-spacing: 0.7px; font-weight: 600;
}
.hero span { color: var(--color-primary); font-weight: bold; }
.hero p { color: var(--hero-text-color); font-weight: 400; margin-bottom: 30px; }

.btn-get-started {
  font-family: var(--font-primary); font-weight: 500; font-size: 15px;
  letter-spacing: 1px; display: inline-block; padding: 14px 20px;
  border-radius: 50px; transition: 0.3s; color: var(--text-white-color);
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
}
.btn-get-started:hover {
  background: linear-gradient(45deg, var(--color-secondary), var(--color-primary));
  color: var(--text-white-color);
}

.hero .btn-watch-video {
  font-size: 16px; transition: 0.5s; margin-left: 25px; color: #fff;
}
.hero .btn-watch-video i {
  color: rgba(255,255,255,0.5); font-size: 32px; transition: 0.3s; line-height: 0; margin-right: 8px;
}
.hero .btn-watch-video:hover i { color: #fff; }

@media (max-width: 991px) {
  .hero { background: url(../images/hero-bg.webp) center center; }
  .hero h2, h1 { font-size: 22px; }
}

@media (max-width: 767px) {
  .text-left.caption { text-align: center; }
  .caption .justify-content-start { justify-content: center !important; }
  .caption .social { justify-content: center; }
  .btn-get-started, .hero .btn-watch-video { font-size: 14px; }
  .icon-boxes .card-two {
    margin-top: var(--bs-gutter-y); margin-bottom: 0px;
    padding-left: calc(var(--bs-gutter-x) * .5);
    padding-right: calc(var(--bs-gutter-x) * .5);
  }
}

@media (min-width: 768px) {
  .btn-get-started, .hero .btn-watch-video { font-size: 14px; }
  .icon-boxes .card-two { margin-top: -20px; margin-bottom: -20px; }
}

.icon-box {
  padding: 20px 30px; position: relative; overflow: hidden;
  transition: all 0.3s ease-in-out; border-radius: 8px; z-index: 1;
  height: 100%; width: 100%; text-align: center; color: var(--text-color);
  box-shadow: -1px 5px 20px 0px var(--box-shadow-color);
}
.icon-box .icon img { width: 60px; }
.icon-box .title { margin-bottom: 15px; font-size: 24px; }
.icon-box .title a { color: var(--color-primary); transition: 0.3s; }
.icon-box .icon {
  margin-bottom: 20px; padding-top: 10px; display: inline-block;
  transition: all 0.3s ease-in-out; font-size: 48px; line-height: 1; color: var(--color-primary);
}
.icon-box:hover { transform: scale(1.04); }

/*--------------------------------------------------------------
# Call To Action Section
--------------------------------------------------------------*/
.call-to-action {
  background: url(../images/hero-bg.webp) center left;
  background-size: cover; padding: 50px 0px; border-radius: 0px;
  overflow: hidden; position: relative; background-attachment: fixed;
}
.call-to-action h3 { color: #fff; font-size: 28px; margin-bottom: 20px; }
.call-to-action p { color: #fff; margin-bottom: 20px; }
.call-to-action:before {
  content: ""; position: absolute; left: 0; bottom: 0; top: 0; right: 0;
  width: 100%; height: 100%; background: #000000; z-index: 0; opacity: 0.6;
}
.call-to-action .cta-btn {
  font-family: var(--font-primary); font-weight: 500; font-size: 16px;
  letter-spacing: 1px; display: inline-block; padding: 12px 48px;
  border-radius: 50px; transition: 0.5s; margin: 10px; color: #fff;
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
}
.call-to-action .cta-btn:hover {
  background: linear-gradient(45deg, var(--color-secondary), var(--color-primary));
}

/*--------------------------------------------------------------
# Our Team Section
--------------------------------------------------------------*/
.team .member {
  text-align: center; border-radius: 10px; padding: 15px; overflow: hidden;
}
.team .member img { border-radius: 10px; overflow: hidden; }
.team .member .member-content { padding: 0 20px 30px 30px; }
.team .member h4 { margin-top: 16px; margin-bottom: 2px; font-size: 20px; color: var(--color-primary); }
.team .member span { font-style: italic; display: block; font-size: 14px; color: var(--text-color); }
.team .member p { padding-top: 10px; font-size: 14px; font-style: italic; color: #6c757d; }
.team .member .social {
  margin-top: 15px; margin-bottom: 10px; display: flex; align-items: center; justify-content: center;
}
.team .member .social a {
  color: var(--color-primary); transition: 0.3s; border-radius: 50%;
  width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  border: 2px solid #e8e8e8;
}
.team .member .social a:hover { color: var(--color-primary); border-color: var(--color-primary); }
.team .member .social i { font-size: 14px; margin: 0 2px; }

/*--------------------------------------------------------------
# Frequently Asked Questions Section
--------------------------------------------------------------*/
.faq .content h3 { font-weight: 400; font-size: 34px; }
.faq .content h4 { font-size: 20px; margin-top: 5px; }
.faq .content p { font-size: 15px; color: #6c757d; }

.faq .accordion-item {
  margin-bottom: 20px; border-radius: 8px;
  background: var(--theme-color-dark); border: 0px solid var(--border-color);
}
.accordion-flush .accordion-item:last-child { border-bottom: 0px solid var(--border-color); }
.faq .accordion-collapse {
  border: 0; background: var(--theme-color-dark); border-radius: 0 8px 8px 0;
}
.accordion-flush .accordion-item:first-child { border: 0px solid var(--border-color); }
.faq .accordion-button {
  background: var(--theme-color-dark); padding: 20px 50px 20px 20px;
  font-size: 16px; line-height: 24px; color: var(--color-primary);
  text-align: left; box-shadow: none; border-radius: 8px !important;
}
.faq .accordion-button .num { padding-right: 10px; font-size: 20px; line-height: 0; color: var(--color-primary); }
.faq .accordion-button:not(.collapsed) { color: var(--color-primary); box-shadow: none; }
.faq .accordion-button:after {
  position: absolute; right: 20px; top: 20px;
  background: url(../images/icons/down-arrow.svg);
}
.faq .accordion-body {
  padding: 40px; border: 0; border-radius: 0 0 8px 8px;
  background: var(--theme-color-dark); box-shadow: none; color: var(--text-color);
}

/*--------------------------------------------------------------
# Container
--------------------------------------------------------------*/
@media (min-width: 1280px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1140px;
  }
}

/*--------------------------------------------------------------
# Stats Counter Section
--------------------------------------------------------------*/
.stats-counter .stats-item .purecounter { padding-right: 0; }
.stats-counter .stats-item i { font-size: 30px; line-height: 0; color: var(--color-primary); margin-bottom: 15px; }
.stats-counter .stats-item span { font-size: 24px; display: block; color: var(--color-primary); line-height: 34px; text-align: center; }
.stats-counter .stats-item p {
  margin: 0; font-family: var(--font-primary); font-size: 14px;
  display: flex; flex-direction: column; align-items: center;
}
.counter-arranjo { display: flex; }
.counter-aranjo-span { margin-right: 2px; }

/*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/
.portfolio .portfolio-flters {
  padding: 0 0 40px 0; margin: 0 auto; list-style: none; text-align: center;
}
.portfolio .portfolio-flters li {
  cursor: pointer; display: inline-block; padding: 0; font-size: 18px;
  font-weight: 500; margin: 0 10px; color: var(--text-white-color);
  line-height: 1; transition: all 0.3s ease-in-out; padding: 15px 25px;
  border-radius: 30px; margin-bottom: 20px;
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
}
.portfolio .portfolio-flters li:hover,
.portfolio .portfolio-flters li.filter-active {
  color: var(--text-white-color);
  background: linear-gradient(45deg, var(--color-secondary), var(--color-primary));
}
.portfolio .portfolio-flters li:first-child { margin-left: 0; }
.portfolio .portfolio-flters li:last-child { margin-right: 0; }
@media (max-width: 575px) {
  .portfolio .portfolio-flters li { font-size: 14px; }
}
.portfolio .portfolio-wrap {
  box-shadow: -1px 5px 20px 0px rgb(82 90 101 / 10%);
  border-radius: 8px; height: 100%; overflow: hidden; position: relative;
}
.portfolio .portfolio-wrap img { transition: 0.3s; position: relative; z-index: 1; }
.portfolio .portfolio-wrap .portfolio-info {
  padding: 25px 20px; position: absolute; z-index: 2; bottom: -1px;
  -webkit-backdrop-filter: saturate(180%) blur(5px);
  backdrop-filter: saturate(180%) blur(5px);
  background: var(--color-secondary); border-radius: 0 8px 0 0;
}
.portfolio .portfolio-wrap:hover img { transform: scale(1.1); }

/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact-section .contact-form-3 form .form-control {
  font-size: 15px; width: 100%; padding: 10px 20px; height: 52px;
  color: #000000; border: none; border-radius: 8px; transition: all 0.4s;
  background: var(--theme-color-dark);
}
.contact-nome { text-transform: capitalize; }
.contact-section .contact-form-3 form input:focus,
.contact-section .contact-form-3 form textarea:focus {
  outline: none; border: none; -webkit-box-shadow: none; box-shadow: none;
}
.contact-information-box-3 {
  padding: 25px 20px; border-radius: 8px; margin-bottom: 50px;
}
.contact-information-box-3 .single-contact-info-box {
  position: relative; z-index: 1; padding: 10px 10px; display: block;
  border-radius: 3px; text-align: left; margin-bottom: 10px; overflow: hidden;
}
.contact-information-box-3 .contact-info { position: relative; z-index: 1; }
.contact-information-box-3 .contact-info h6 {
  font-size: 18px; color: var(--text-color); margin-bottom: 7px; text-transform: capitalize;
}
.contact-information-box-3 .contact-info p {
  color: var(--text-color); font-size: 14px; font-weight: 500; margin: 0;
}
.contact-section .contact-form .form-group { margin-bottom: 30px; }
.contact-section .contact-form form textarea.form-control { height: auto; padding-top: 15px; line-height: initial; }
.contact-section .form-message { margin: 0; }
.contact-form button[type=submit] {
  font-family: var(--font-primary); font-weight: 500; font-size: 15px;
  letter-spacing: 1px; display: inline-block; padding: 14px 40px;
  border-radius: 50px; transition: 0.3s; border: 0; color: var(--text-white-color);
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
}
.contact-form button[type=submit]:hover {
  color: var(--text-white-color);
  background: linear-gradient(45deg, var(--color-secondary), var(--color-primary));
}
.contact-section .form-message.success {
  background: #03b103; color: #fff; padding: 10px 15px; border-radius: 3px; margin-bottom: 30px;
}
.contact-section .form-message.error {
  background: #ff4d15; color: #fff; padding: 10px 15px; border-radius: 3px; margin-bottom: 30px;
}
.with-errors { color: #dc3545; }
.messages { margin-top: 30px; }
.alert-success { margin-left: 15px; }
.hidden { display: none; }

/*--------------------------------------------------------------
# Particles
--------------------------------------------------------------*/
#particles-js {
  position: absolute; z-index: 0; top: 0; right: 0; left: 0; bottom: 0;
}
canvas { display: block; vertical-align: bottom; }

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer-section {
  background: url(../images/hero-bg.webp) center left;
  background-size: cover; padding: 60px 0; border-radius: 0px;
  position: relative; background-attachment: fixed;
}
.footer-section:before {
  content: ""; position: absolute; left: 0; bottom: 0; top: 0; right: 0;
  width: 100%; height: 100%; background: #000000; z-index: 0; opacity: 0.8;
}
.footer-content { position: relative; z-index: 2; }
.footer-content .list { padding-left: 0; }
.footer-logo { margin-bottom: 30px; }
.footer-logo img { max-width: 200px; }
.footer-widget ul li, .footer-widget ul li a { font-size: 14px; }
.footer-text p {
  margin-bottom: 14px; font-size: 14px; color: var(--text-white-color); line-height: 28px;
}
.footer-social-icon span {
  color: var(--color-primary); display: block; font-size: 20px;
  font-family: 'Poppins', sans-serif; margin-bottom: 20px;
}
.footer-social-icon a { color: #fff; font-size: 16px; margin-right: 15px; }
.footer-social-icon i {
  height: 40px; width: 40px; text-align: center; line-height: 41px; border-radius: 50%;
}
.footer-widget-heading h3 {
  color: var(--color-primary); font-size: 20px; font-weight: 500;
  margin-bottom: 20px; position: relative;
}
.footer-widget ul li { display: inline-block; float: left; width: 100%; margin-bottom: 12px; }
.footer-widget ul li a:hover { color: var(--color-primary); }
.footer-widget ul li a { color: var(--text-white-color); text-transform: capitalize; }
.copyright-text { margin-top: 30px; }
.copyright-text p { margin: 0; font-size: 14px; color: #b9b9b9; }
.copyright-text p a { color: var(--color-primary); }

/*--------------------------------------------------------------
# Link botão portfolio
--------------------------------------------------------------*/
.link-sem-decoracao { text-decoration: none; color: inherit; }
.link-sem-decoracao:hover, .link-sem-decoracao:focus { text-decoration: none; color: inherit; }

/*--------------------------------------------------------------
# Portfolio divs
--------------------------------------------------------------*/
#porf_eventos { display: none; }
#porf_industria { display: none; }
#port_geral { display: block; }

/*--------------------------------------------------------------
# Vinte anos
--------------------------------------------------------------*/
.vinteanos img { margin-left: 30px; }

/*--------------------------------------------------------------
# Modal orçamento
--------------------------------------------------------------*/
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  display: none; align-items: center; justify-content: center; z-index: 9999;
}
.modal-contact {
  background: #fff; border-radius: 12px; padding: 22px;
  width: 320px; max-width: calc(100% - 40px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.2); text-align: center;
}
.modal-contact h3 { margin: 0 0 12px; font-size: 18px; color: #222; }
.modal-contact .actions { display: flex; gap: 10px; margin-top: 14px; justify-content: center; }
.modal-contact .actions .btn {
  flex: 1; padding: 10px 12px; border-radius: 10px; border: none; cursor: pointer; font-weight: 700;
}
.modal-contact .btn-form { background: #0d6efd; color: #fff; }
.modal-contact .btn-whats { background: #25d366; color: #fff; }
.modal-contact .close { margin-top: 12px; background: transparent; border: none; color: #666; cursor: pointer; font-size: 14px; }
@media (max-width: 420px) {
  .modal-contact { width: 92%; padding: 18px; }
}

/*--------------------------------------------------------------
# Fill btn (used in some sections)
--------------------------------------------------------------*/
.fill-btn {
  font-family: var(--font-primary); font-weight: 500; font-size: 15px;
  letter-spacing: 1px; display: inline-block; padding: 14px 40px;
  border-radius: 50px; border: 0; transition: 0.3s; color: var(--text-white-color);
  background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
  box-shadow: 0 0 15px rgba(0,0,0,0.08);
}
.fill-btn:hover {
  background: linear-gradient(45deg, var(--color-secondary), var(--color-primary));
  color: var(--text-white-color);
}

/*--------------------------------------------------------------
# Mr helpers
--------------------------------------------------------------*/
.mr-20 { margin-right: 20px !important; }
