/* ==========================================================================
   ForFire – folha de estilo do site
   Base: UIkit 2 (MIT). Este arquivo aplica a identidade visual do site
   (tipografia Noto Serif/Montserrat, paleta bege/grafite, blocos e componentes).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Base e tipografia
   -------------------------------------------------------------------------- */
html {
    font: normal 15px/26px 'Noto Serif', 'Times New Roman', serif;
    color: #666;
    background: #fff;
    overflow-y: scroll;
    -webkit-font-smoothing: antialiased;
}
body { margin: 0; background: #222; }

a { color: #af9a7d; text-decoration: none; cursor: pointer; transition: color .12s ease-in-out; }
a:hover, a:focus { color: #7b674b; text-decoration: underline; }
em { color: #aaa; }
strong { font-weight: bold; }
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; box-sizing: border-box; }
iframe { border: 0; }

p, ul, ol, dl, blockquote, pre, address, fieldset, figure { margin: 0 0 25px 0; }
ul, ol { padding-left: 30px; }
ul > li > ul, ol > li > ol { margin: 0; }
hr, hr.uk-grid-divider { margin: 25px 0; border: 0; border-top: 1px solid #efefef; }

h1, h2, h3, h4, h5, h6,
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6 {
    margin: 0 0 25px 0;
    font-family: 'Noto Serif', 'Times New Roman', serif;
    font-weight: normal;
    color: #222;
    text-transform: none;
    letter-spacing: 0;
}
h1, .uk-h1 { font-size: 36px; line-height: 44px; }
h2, .uk-h2 { font-size: 28px; line-height: 34px; }
h3, .uk-h3 { font-size: 24px; line-height: 28px; }
h4, .uk-h4, h5, .uk-h5, h6, .uk-h6 { font-family: 'Montserrat', Helvetica, Arial, sans-serif; text-transform: uppercase; }
h4, .uk-h4 { font-size: 15px; line-height: 20px; letter-spacing: 3px; }
h5, .uk-h5 { font-size: 12px; line-height: 15px; letter-spacing: 3px; color: #aaa; }
h6, .uk-h6 { font-size: 11px; line-height: 13px; letter-spacing: 2px; color: #aaa; }

.uk-text-large { font-size: 18px; line-height: 28px; font-weight: normal; }
.uk-heading-large { font-size: 36px; line-height: 44px; }
@media (min-width: 768px) {
    .uk-heading-large { font-size: 48px; line-height: 56px; }
}
@media (max-width: 767px) {
    h1, .uk-h1 { font-size: 30px; line-height: 38px; }
}

/* Texto "caixa alta" padrão da interface (menus, botões, rótulos) */
.tm-caps {
    font-family: 'Montserrat', Helvetica, Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   2. Container e blocos
   -------------------------------------------------------------------------- */
.uk-container { box-sizing: border-box; max-width: 980px; padding: 0 25px; }
@media (min-width: 1220px) {
    .uk-container { max-width: 1200px; padding: 0 40px; }
}

.uk-block { position: relative; box-sizing: border-box; padding-top: 40px; padding-bottom: 40px; }
.uk-block-large { padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 768px) {
    .uk-block { padding-top: 60px; padding-bottom: 60px; }
    .uk-block-large { padding-top: 60px; padding-bottom: 60px; }
}
@media (min-width: 960px) {
    .uk-block-large { padding-top: 120px; padding-bottom: 120px; }
}
.uk-block-default   { background: #fff; }
.uk-block-muted     { background: #f9f9f9; }
.uk-block-primary   { background: #c2ac8d; }
.uk-block-secondary { background: #222; }
.uk-block-default + .uk-block-default { border-top: 1px solid #efefef; }
.uk-block-secondary + .uk-block-secondary { border-top: 1px solid #2c2c2c; }
.tm-block-collapse { padding: 0 !important; }

/* Conteúdo sobre fundo escuro */
.uk-contrast { color: rgba(255, 255, 255, .6); text-shadow: none; }
.uk-contrast h1, .uk-contrast h2, .uk-contrast h3, .uk-contrast h4, .uk-contrast h5, .uk-contrast h6,
.uk-contrast .uk-h1, .uk-contrast .uk-h2, .uk-contrast .uk-h3, .uk-contrast .uk-h4 { color: #fff; }
.uk-contrast .uk-h5, .uk-contrast .uk-h6 { color: rgba(255, 255, 255, .5); }
.uk-contrast a:not([class]) { color: #af9a7d; }
.uk-contrast a:not([class]):hover { color: rgba(255, 255, 255, .8); }
.uk-contrast em { color: rgba(255, 255, 255, .6); }
.uk-contrast strong { color: #fff; }
.uk-contrast .uk-panel-title { color: #fff; }

/* --------------------------------------------------------------------------
   3. Barra de navegação
   -------------------------------------------------------------------------- */
#tm-header { position: relative; z-index: 3; }
@media (min-width: 768px) {
    /* A barra flutua sobre a imagem de topo */
    #tm-header { position: absolute; top: 0; left: 0; right: 0; }
}

.tm-navbar-wrapper-animate {
    position: relative;
    z-index: 990;
    box-sizing: border-box;
    border: 0 solid transparent;
    background-clip: content-box;
    transition: border-width .35s ease-in-out;
}
@media (min-width: 768px) { .tm-navbar-wrapper-animate { border-width: 25px; } }
@media (min-width: 960px) { .tm-navbar-wrapper-animate { border-width: 40px; } }
.tm-navbar-wrapper-animate.uk-active { border-width: 0; }

.tm-navbar.uk-navbar { background: #1a1a1a; color: #666; padding: 0; border-radius: 0; box-shadow: none; }
.tm-navbar-container {
    position: relative;
    display: -webkit-flex; display: flex;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: space-between; justify-content: space-between;
    min-height: 100px;
}
.tm-navbar-left, .tm-navbar-center, .tm-navbar-right { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }

.tm-navbar .uk-navbar-brand,
.tm-navbar .uk-navbar-brand:hover,
.tm-navbar .uk-navbar-brand:focus {
    float: none; display: block; height: auto; padding: 0; line-height: 0; font-size: 0; color: #fff; text-decoration: none;
}
.tm-navbar .uk-navbar-brand::before { display: none; }
.tm-navbar .uk-navbar-brand img { display: block; width: 249px; max-width: 100%; height: auto; }
@media (max-width: 767px) { .tm-navbar .uk-navbar-brand img { width: 150px; } }

.uk-navbar-nav { float: none; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 0; padding: 0; list-style: none; }
.uk-navbar-nav > li { float: none; position: relative; }
.uk-navbar-nav > li > a {
    display: block; box-sizing: border-box;
    height: 100px; line-height: 100px; padding: 0 10px;
    color: #666; text-decoration: none;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; font-weight: normal;
    letter-spacing: 2px; text-transform: uppercase;
    transition: color .12s ease-in-out;
}
.uk-navbar-nav > li:hover > a, .uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li.uk-open > a, .uk-navbar-nav > li.uk-active > a { background: transparent; color: #fff; outline: none; }
.uk-navbar-nav > li > a img { vertical-align: middle; position: relative; top: -2px; }

.tm-navbar .uk-navbar-toggle {
    float: none; height: 100px; line-height: 100px; padding: 0 5px; margin-right: -5px;
    color: #fff; font-size: 24px; transition: color .12s ease-in-out;
}
.tm-navbar .uk-navbar-toggle::before { display: none; }
.tm-navbar .uk-navbar-toggle::after { content: "\f0c9"; font-family: FontAwesome; vertical-align: middle; }
.tm-navbar .uk-navbar-toggle:hover { color: #c2ac8d; text-decoration: none; }

/* Submenu (dropdown) */
.uk-dropdown-navbar {
    margin-top: 0; padding: 15px; width: 280px;
    background: rgba(19, 19, 19, .98); color: rgba(255, 255, 255, .5);
    border-radius: 0; box-shadow: none;
}
.uk-open > .uk-dropdown-navbar { -webkit-animation: uk-slide-bottom .2s ease-in-out; animation: uk-slide-bottom .2s ease-in-out; }
.uk-dropdown .uk-nav-navbar { margin: 0; }
.uk-nav-navbar > li > a {
    padding: 3px 10px; margin-bottom: 10px; line-height: 18px; color: #666;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    transition: color .12s ease-in-out;
}
.uk-nav-navbar > li:last-child > a { margin-bottom: 0; }
.uk-nav-navbar > li > a:hover, .uk-nav-navbar > li > a:focus, .uk-nav-navbar > li.uk-active > a { background: transparent; color: #fff; outline: none; }

/* Espaço para a barra flutuante nas páginas sem imagem de topo */
@media (min-width: 768px) {
    .tm-header-offset .tm-block-main { padding-top: 185px; }
}
@media (min-width: 960px) {
    .tm-header-offset .tm-block-main { padding-top: 260px; }
}

/* --------------------------------------------------------------------------
   4. Imagem de topo e slideshow principal
   -------------------------------------------------------------------------- */
.tm-header-container { position: relative; z-index: 1; }
.tm-slideshow-avanti .uk-slideshow > li { min-height: 300px; }
.tm-home .tm-slideshow-avanti .uk-slideshow > li { min-height: 560px; }
@media (min-width: 768px) {
    .tm-home .tm-slideshow-avanti .uk-slideshow > li { min-height: 700px; }
}
.tm-slideshow-avanti .uk-slidenav { display: none; }
.tm-slideshow-avanti .uk-overlay-panel { padding: 80px 40px 40px; color: #222; }
@media (min-width: 768px) { .tm-slideshow-avanti .uk-overlay-panel { padding-top: 165px; } }
@media (min-width: 960px) { .tm-slideshow-avanti .uk-overlay-panel { padding-top: 180px; } }
@media (max-width: 767px) {
    .tm-slideshow-avanti .uk-overlay-panel { padding: 60px 25px 25px; }
    .tm-slideshow-avanti .uk-overlay-panel .uk-container { padding: 0; }
}
.tm-slideshow-content-panel { padding: 40px 0; }
.tm-slideshow-content-panel .uk-text-large { color: #222; }
.tm-slideshow-content-panel .uk-heading-large { color: #222; }
.tm-slideshow-content-panel .uk-heading-large span[data-animated-text] > span { display: inline; }

/* Navegação numerada (01 02 03) */
.tm-numnav {
    display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap;
    margin: -15px 0 0 -15px; padding: 0; list-style: none; counter-reset: section;
}
.tm-numnav > * { -webkit-flex: none; flex: none; padding-left: 15px; margin-top: 15px; }
.tm-numnav > * > * {
    display: block; position: relative; box-sizing: content-box; width: 25px; height: 25px;
    overflow: hidden; text-indent: 100%; white-space: nowrap; text-decoration: none !important;
}
.tm-numnav > * > *::before {
    counter-increment: section; content: "0" counter(section);
    position: absolute; top: 0; left: 0; width: 25px; height: 25px; line-height: 25px;
    text-indent: 0; text-align: center; color: #aaa;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
    cursor: pointer; transition: color .12s ease-in-out;
}
.tm-numnav > * > *:hover::before, .tm-numnav > * > *:focus::before, .tm-numnav > .uk-active > *::before { color: #222; }

/* --------------------------------------------------------------------------
   5. Componentes: botões, selos, painéis, trilha, overlay, navegação de slides
   -------------------------------------------------------------------------- */
.uk-button {
    display: inline-block; box-sizing: border-box; margin: 0; border: 0; padding: 0 33px;
    min-height: 40px; line-height: 40px; vertical-align: middle;
    background: #222; color: #fff;
    font: inherit; font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; font-weight: normal;
    letter-spacing: 2px; text-transform: uppercase; text-align: center; text-decoration: none;
    border-radius: 0; cursor: pointer; overflow: hidden;
    -webkit-appearance: none; transition: all .12s ease-in-out;
}
.uk-button:hover, .uk-button:focus { background: #2f2f2f; color: #fff; text-decoration: none; outline: none; }
.uk-button:active, .uk-button.uk-active { background: #363636; color: rgba(255, 255, 255, .65); box-shadow: inset 2px 2px 6px rgba(0, 0, 0, .3); }
.uk-button-primary { background: #c2ac8d; color: #fff; }
.uk-button-primary:hover, .uk-button-primary:focus { background: #b6a185; color: #fff; }
.uk-button-primary:active { background: #ab977b; }
.uk-button-success { background: #b3c594; color: #fff; }
.uk-button-success:hover, .uk-button-success:focus { background: #a6b788; color: #fff; }
.uk-button-large { min-height: 50px; line-height: 50px; padding: 0 42px; font-size: 13px; }
.uk-button-small { min-height: 32px; line-height: 32px; padding: 0 20px; font-size: 10px; letter-spacing: 1.5px; }
.uk-button-link, .uk-button-link:hover, .uk-button-link:focus, .uk-button-link:active {
    background: none; padding: 0 5px 0 15px; box-shadow: none; color: #af9a7d;
}
.uk-button-link::before {
    content: "\f178"; font-family: FontAwesome; position: relative; top: 1px; margin: 0 8px 0 -10px; font-size: 12px; letter-spacing: 0;
}
.uk-button-link:hover, .uk-button-link:focus { color: #7b674b; text-decoration: underline; }
.uk-contrast .uk-button { background: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .6); }
.uk-contrast .uk-button:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.uk-contrast .uk-button-primary { background: #c2ac8d; color: #fff; }
.uk-contrast .uk-button-primary:hover { background: #b6a185; }
.uk-contrast .uk-button-link, .uk-contrast .uk-button-link:hover { background: none; }
.uk-contrast .uk-button-link { color: #af9a7d; }
.uk-contrast .uk-button-link:hover { color: #fff; }

.uk-badge {
    display: inline-block; padding: 0 7px; background: #c2ac8d; color: #fff;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; font-weight: normal; line-height: 20px;
    letter-spacing: 1px; text-transform: uppercase; text-align: center; vertical-align: middle; border: 0; border-radius: 0;
}

.uk-panel-box { padding: 25px; background: #f9f9f9; color: #666; border: 0; border-radius: 0; }
@media (min-width: 768px) { .uk-panel-box { padding: 40px; } }
.uk-panel-title { margin: 0 0 25px 0; font-size: 24px; line-height: 28px; font-weight: normal; color: #222; text-transform: none; }
.uk-panel-teaser { margin-bottom: 25px; }
.uk-panel-box .uk-panel-title { color: #222; }
.uk-panel-box > :not(.uk-panel-title):last-child { margin-bottom: 0; }

.uk-breadcrumb {
    margin: 0 0 25px 0; padding: 0; list-style: none; font-size: .001px;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase;
}
.uk-breadcrumb > li { display: inline-block; font-size: 11px; vertical-align: top; }
.uk-breadcrumb > li > a, .uk-breadcrumb > li > span { display: inline-block; }
.uk-breadcrumb > li:nth-child(n+2)::before { content: "//"; display: inline-block; margin: 0 20px; color: rgba(170, 170, 170, .3); }
.uk-breadcrumb > li > span { color: #aaa; }

.uk-overlay-panel { color: #222; }
.uk-overlay-background { background: rgba(249, 249, 249, .5); }
.uk-overlay-icon::before {
    content: "\f00e"; position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; margin: -12px 0 0 -12px;
    font-family: FontAwesome; font-size: 24px; line-height: 1; color: #222; text-align: center;
}

.uk-slidenav {
    width: 50px; height: 50px; line-height: 48px; font-size: 50px; color: rgba(34, 34, 34, .25);
    -webkit-transform: scale(.8); transform: scale(.8); transition: all .12s ease-in-out;
}
.uk-slidenav:hover, .uk-slidenav:focus { color: #222; -webkit-transform: scale(.9); transform: scale(.9); }
.uk-slidenav-position .uk-slidenav { margin-top: -25px; }
.uk-slidenav-position .uk-slidenav-previous { left: 25px; }
.uk-slidenav-position .uk-slidenav-next { right: 25px; }
.uk-slidenav-contrast { color: #fff; }
.uk-slidenav-contrast:hover, .uk-slidenav-contrast:focus { color: rgba(255, 255, 255, .7); }
@media (min-width: 960px) {
    .uk-slidenav-position .uk-slidenav { opacity: 0; }
    .uk-slidenav-position:hover .uk-slidenav { opacity: 1; }
}

.uk-dotnav > * > * {
    box-sizing: content-box; width: 10px; height: 10px; background: transparent;
    border: 1px solid rgba(19, 19, 19, .2); transition: all .12s ease-in-out;
}
.uk-dotnav > * > :hover, .uk-dotnav > * > :focus { background: transparent; border-color: #131313; }
.uk-dotnav > .uk-active > * { background: #131313; border-color: #131313; box-shadow: 0 0 0 1px #131313; }
.uk-dotnav-contrast > * > * { border-color: rgba(255, 255, 255, .5); background: transparent; }
.uk-dotnav-contrast > * > :hover { border-color: #fff; }
.uk-dotnav-contrast > .uk-active > * { background: #fff; border-color: #fff; box-shadow: 0 0 0 1px #fff; }

.uk-subnav { margin-left: -15px; margin-top: -8px; }
.uk-subnav > * { padding-left: 15px; margin-top: 8px; }
.uk-subnav > * > * {
    display: inline-block; color: #af9a7d; line-height: 24px;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    transition: color .12s ease-in-out;
}
.uk-subnav > * > :hover, .uk-subnav > * > :focus, .uk-subnav > .uk-active > * { color: #222; text-decoration: none; }
.uk-subnav-line > :nth-child(n+2)::before { content: ""; display: inline-block; height: 12px; margin-right: 15px; vertical-align: middle; border-left: 1px solid #efefef; }
.uk-subnav img { vertical-align: middle; position: relative; top: -1px; }
.uk-contrast .uk-subnav > * > * { color: rgba(255, 255, 255, .5); }
.uk-contrast .uk-subnav > * > :hover, .uk-contrast .uk-subnav > .uk-active > * { color: #fff; }
.uk-contrast .uk-subnav-line > :nth-child(n+2)::before { border-left-color: rgba(255, 255, 255, .1); }

.uk-alert { margin-bottom: 25px; padding: 10px 15px; background: #c2ac8d; color: #fff; border: 0; border-radius: 0; }
.uk-alert:not(.uk-alert-large) { font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.uk-alert-large { padding: 25px; }
.uk-alert-success { background: #b3c594; color: #fff; }
.uk-alert-danger { background: #d47371; color: #fff; }
.uk-alert > :last-child { margin-bottom: 0; }

/* Acordeão (Missão / Visão / Valores) */
.uk-accordion-title {
    margin: 0 0 15px 0; padding: 0; background: none; border: 0;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; line-height: 20px;
    letter-spacing: 2px; text-transform: uppercase; color: #aaa; cursor: pointer; transition: color .12s ease-in-out;
}
.uk-accordion-title::before { content: "\f178"; font-family: FontAwesome; margin-right: 10px; letter-spacing: 0; }
.uk-accordion-title.uk-active::before { content: "\f175"; }
.uk-accordion-title:hover, .uk-accordion-title.uk-active { color: #222; }
.uk-accordion-content { padding: 5px 0 25px; }
.uk-accordion-content > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   6. Home: painel de serviços, clientes
   -------------------------------------------------------------------------- */
.tm-block-top-a.tm-grid-collapse > .uk-container { max-width: none; padding: 0; }
.tm-slideshow-panel .uk-slideshow > li { min-height: 420px; }
.tm-slideshow-panel .tm-slideshow-panel-badge { position: absolute; top: 40px; right: 40px; z-index: 3; }
.tm-slideshow-panel .uk-panel-body { padding: 40px; }
@media (min-width: 1220px) { .tm-slideshow-panel .uk-panel-body { padding: 70px; } }
.tm-slideshow-panel .uk-panel-body .uk-slideshow > li { min-height: 0; }
.tm-slideshow-panel .uk-h1, .tm-slideshow-panel .uk-h1 a { color: #fff; }
.tm-slideshow-panel .uk-slideshow p { color: rgba(255, 255, 255, .5); }
.tm-slideshow-panel .uk-dotnav { margin-left: -8px; }
.tm-slideshow-panel .uk-position-bottom { padding: 0 40px 40px; }

.tm-clientes .uk-h5 { margin-bottom: 40px; }
.tm-clientes .uk-slider-container { padding: 4px 0; }
.tm-clientes .tm-cliente {
    display: block; height: 235px; background-color: #fff;
    background-position: 50% 50%; background-size: contain; background-repeat: no-repeat;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.tm-clientes .uk-slidenav-contrast { color: #aaa; }
.tm-clientes .uk-slidenav-contrast:hover { color: #222; }

/* --------------------------------------------------------------------------
   7. Conteúdo interno
   -------------------------------------------------------------------------- */
.tm-main > :nth-child(n+2) { margin-top: 40px; }
.tm-content > .uk-breadcrumb + h1, .tm-content > .uk-breadcrumb + .uk-article { margin-top: 40px; }
.tm-content .uk-article { text-align: justify; }
.tm-content .uk-article > :last-child { margin-bottom: 0; }
.tm-content .uk-article h3[id] { padding-top: 40px; }
.tm-content .uk-article-title { font-size: 36px; line-height: 44px; }
.tm-content .uk-article ul { padding-left: 30px; }
.tm-content .uk-article li { margin-bottom: 4px; }
.uk-panel-header .tm-title { margin-bottom: 0; }

/* Lista lateral de âncoras (página Recarga) */
.sidebar-nav { margin: 0 0 25px 0; padding-left: 20px; }
.sidebar-nav li { margin-bottom: 4px; }
.sidebar-nav a { color: #af9a7d; }
.sidebar-nav a:hover, .sidebar-nav a.uk-active { color: #222; text-decoration: none; }
.tm-sidebar-a .uk-panel-box.uk-active { z-index: 1; }

/* Grade com divisores verticais (produtos, manutenção) */
.tm-grid-divider:not(:empty) { margin-left: -25px; margin-right: -25px; }
.tm-grid-divider > * { padding-left: 25px; padding-right: 25px; }
.tm-grid-divider > *:not(:first-child):not(.uk-row-first) { border-left: 1px solid #efefef; }
.tm-grid-avanti .uk-panel-teaser { margin-bottom: 25px; }
.tm-grid-avanti .uk-panel-title { font-size: 24px; line-height: 28px; }
.tm-grid-avanti .uk-panel > :last-child { margin-bottom: 0; }
.tm-grid-avanti .uk-overlay { display: inline-block; max-width: 100%; }
.mod-servicos-manutencao .uk-panel-title { font-size: 20px; line-height: 26px; }
.mod-servicos-manutencao .uk-panel > .uk-margin { font-size: 14px; line-height: 24px; }

/* Listagem de serviços */
.tm-servicos-lista .uk-grid-divider { margin: 40px 0; }
.tm-servicos-lista .uk-overlay { display: inline-block; max-width: 100%; }
.tm-servicos-lista .uk-panel-title { margin-bottom: 25px; }

/* Dicas úteis (conjunto de slides) */
.uk-slideset { position: relative; z-index: 0; margin: 0; padding: 0; list-style: none; touch-action: pan-y; }
.uk-slideset.uk-grid > li { margin-bottom: 25px; }
.uk-slideset > li:not(.uk-active) { display: none; }
.tm-dicas .uk-panel-box .uk-panel-title { margin-bottom: 25px; }
.tm-dicas .uk-panel-box img { max-height: 320px; width: auto; }
.tm-dicas .uk-panel-box ul { padding-left: 30px; }
.tm-dicas .uk-slideset-nav { margin-top: 15px; }

/* Legislação (downloads) */
.tm-download { padding: 25px 0; border-bottom: 1px solid #efefef; }
.tm-download:last-of-type { border-bottom: 1px solid #efefef; }
.tm-download-head { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; margin-bottom: 15px; }
.tm-download-head h3 { margin: 0 20px 0 0; font-size: 15px; line-height: 26px; }
.tm-download-head h3 .uk-icon-file-pdf-o { color: #c94745; margin-right: 8px; }
.tm-download p:last-child { margin-bottom: 0; }
@media (max-width: 479px) {
    .tm-download-head { display: block; }
    .tm-download-head h3 { margin: 0 0 10px 0; }
}

/* --------------------------------------------------------------------------
   8. Formulários
   -------------------------------------------------------------------------- */
.uk-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.uk-form select, .uk-form textarea {
    box-sizing: border-box; height: 40px; max-width: 100%; padding: 5px 10px;
    border: 1px solid #efefef; background: #fff; color: #666; border-radius: 0;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    transition: all .2s linear;
}
.uk-form textarea { height: auto; padding: 10px; line-height: 20px; }
.uk-form input:focus, .uk-form textarea:focus, .uk-form select:focus { border-color: #131313; outline: 0; background: #fff; color: #222; }
.uk-form ::-webkit-input-placeholder { color: #aaa; }
.uk-form ::-moz-placeholder { color: #aaa; opacity: 1; }
.uk-form :-ms-input-placeholder { color: #aaa; }
.uk-form ::placeholder { color: #aaa; }
.uk-form .uk-form-danger { border-color: #d47371 !important; }
.uk-form-row + .uk-form-row { margin-top: 20px; }
.uk-form-horizontal .uk-form-label { font-weight: normal; color: #666; }
@media (min-width: 960px) {
    .uk-form-horizontal .uk-form-label { width: 200px; margin-top: 8px; float: left; }
    .uk-form-horizontal .uk-form-controls { margin-left: 215px; }
    .uk-form-horizontal .uk-form-controls-text { padding-top: 8px; }
}
.uk-form input[type="checkbox"] { margin: 0 4px 0 0; vertical-align: -2px; }
.tm-check-inline label { display: inline-block; margin: 0 20px 6px 0; }
.tm-check-list label { display: block; margin-bottom: 4px; }
.tm-req { color: #d47371; font-size: 11px; vertical-align: super; }
.tm-form-error { display: block; margin-top: 5px; color: #c94745; font-size: 13px; }
.tm-form-actions { margin-top: 30px; padding: 20px; background: #f9f9f9; text-align: right; }
.tm-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.tm-form .uk-alert-large p { margin-bottom: 10px; }

/* --------------------------------------------------------------------------
   9. Blocos finais e rodapé
   -------------------------------------------------------------------------- */
.tm-block-bottom-a .uk-button-large { white-space: nowrap; }
@media (max-width: 767px) { .tm-block-bottom-a .uk-text-right { text-align: left; } }

.tm-block-bottom-c .uk-h6 { margin: 0; }
.tm-block-bottom-c .uk-h1 { margin: 15px 0 0; }
.tm-contact-lines p { margin: 0; line-height: 30px; }
.tm-contact-lines em { display: inline-block; width: 18px; margin-right: 4px; text-align: center; font-style: normal; }
.uk-block-default.tm-block-bottom-c .tm-contact-lines { color: #666; }

.tm-block-bottom-d iframe { display: block; width: 100%; height: 300px; border: 0; }

.tm-block-footer { box-sizing: border-box; padding: 60px 0; background: #222; color: rgba(255, 255, 255, .5); }
@media (min-width: 768px) { .tm-block-footer { padding: 95px 0; } }
.uk-block-secondary + .tm-block-footer, .tm-block-bottom-d + .tm-block-footer { border-top: 1px solid #2c2c2c; }
.tm-footer { position: relative; }
.tm-footer > * { display: block; }
.tm-footer > *:not(:first-child) { margin-top: 15px; }
.tm-footer .uk-panel > p { margin-bottom: 10px; }
.tm-footer .uk-panel > p:last-child { margin-bottom: 0; }
.tm-footer-small p { font-size: 13px; }
.tm-totop-scroller { display: inline-block; width: 40px; height: 40px; line-height: 40px; text-align: center; text-decoration: none !important; }
.tm-totop-scroller::before { content: "\f077"; font-family: FontAwesome; font-size: 20px; color: rgba(255, 255, 255, .6); transition: color .12s ease-in-out; }
.tm-totop-scroller:hover::before { color: #fff; }

/* Home: rodapé fixo revelado ao rolar */
@media (min-width: 768px) {
    .tm-footer-fixed { padding-bottom: 450px; }
    .tm-footer-fixed .tm-header-container,
    .tm-footer-fixed [class*='tm-block-top-'],
    .tm-footer-fixed .tm-block-main,
    .tm-footer-fixed [class*='tm-block-bottom-'] { position: relative; z-index: 1; }
    .tm-footer-fixed .tm-block-footer {
        position: fixed; bottom: 0; left: 0; right: 0; z-index: 0; height: 450px;
        display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center;
    }
    .tm-footer-fixed .tm-block-footer > .uk-container { width: 100%; }
}

/* --------------------------------------------------------------------------
   10. Menu lateral (mobile) e botão WhatsApp
   -------------------------------------------------------------------------- */
.uk-offcanvas { background: rgba(34, 34, 34, .5); }
.uk-offcanvas-bar { width: 240px; padding: 30px 20px; background: #131313; }
@media (min-width: 480px) { .uk-offcanvas-bar { width: 270px; } }
@media (min-width: 1220px) { .uk-offcanvas-bar { padding: 60px 40px; } }
.uk-nav-offcanvas > li > a {
    padding: 10px 15px; margin-bottom: 5px; border: 0; color: rgba(255, 255, 255, .5);
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    transition: all .12s ease-in-out;
}
.uk-nav-offcanvas > li > a:hover, .uk-nav-offcanvas > li > a:focus, .uk-nav-offcanvas > li.uk-active > a {
    background: #1a1a1a; color: #fff; outline: none; box-shadow: 0 3px 10px rgba(0, 0, 0, .5);
}
.uk-nav-offcanvas ul.uk-nav-sub {
    margin: 0 0 10px; padding: 5px 0 5px 30px; list-style: none;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
}
.uk-nav-offcanvas ul a { display: block; padding: 4px 0; color: rgba(255, 255, 255, .5); line-height: 16px; }
.uk-nav-offcanvas ul a:hover, .uk-nav-offcanvas ul li.uk-active > a { color: #fff; text-decoration: none; }
.uk-nav-offcanvas img { vertical-align: middle; }

#btn-whatsapp-fixed {
    position: fixed; right: 20px; bottom: 20px; z-index: 99;
    box-sizing: content-box; width: 54px; height: 54px;
    border: 5px solid rgba(220, 248, 198, 0); border-radius: 50%;
    background: #25d366; text-align: center; text-decoration: none;
    transition: border-color .2s ease-in-out;
}
#btn-whatsapp-fixed:hover { border-color: rgba(220, 248, 198, .5); }
#btn-whatsapp-fixed i { color: rgba(255, 255, 255, .75); font-size: 36px; line-height: 54px; transition: color .2s ease-in-out; }
#btn-whatsapp-fixed:hover i { color: #fff; }

/* --------------------------------------------------------------------------
   11. Utilidades
   -------------------------------------------------------------------------- */
.uk-link-reset, .uk-link-reset:hover, .uk-link-reset:focus { color: inherit; text-decoration: none; }
.uk-margin { margin-bottom: 25px; }
.uk-margin-large-bottom { margin-bottom: 40px !important; }
.uk-margin-small-top { margin-top: 15px !important; }
@media print {
    #tm-header, #btn-whatsapp-fixed, .tm-block-bottom-d, #offcanvas { display: none !important; }
    body { background: #fff; }
}

/* Painel lateral fixo ao rolar (página Recarga) */
@media (min-width: 768px) {
    .tm-middle.uk-grid { -webkit-align-items: stretch; align-items: stretch; }
    .tm-sidebar-a .sidebar-fixed { position: -webkit-sticky; position: sticky; top: 120px; }
}
