@import url('fontawesome.css');

/* Variáveis de cores */
:root {
    --primary-blue: #283374;
    --primary-blue-dark: #1c2554;    /* Tom mais escuro */
    --primary-blue-darker: #111635;   /* Tom ainda mais escuro */
    --primary-blue-light: #354494;    /* Tom mais claro */
    --primary-blue-lighter: #4254b4;  /* Tom ainda mais claro */
    --primary-blue-alpha: rgba(40, 51, 116, 0.9);
    --white-alpha: rgba(255, 255, 255, 0.9);
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;text-decoration:none;margin:0;padding:0}table{border-collapse:separate;border-spacing:0}blockquote:before,blockquote:after,q:before,q:after{content:""}*{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}:focus{outline:0}table{border-collapse:collapse;border-spacing:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}a{text-decoration:none;position:relative;color:#000}audio,video,canvas{max-width:100%}
.clearfix:before,.clearfix:after,.container:before,.container:after{content:" ";display:table}.clearfix:after,.container:after{clear:both}


.container-form{
    background-color: #f9f9f9;
    border:1px solid #eeeeee;
    border-radius: 10px;
    padding: 20px;
}

/* Adicione no início dos estilos */
body {
margin: 0;
padding: 0;
font-family: 'Roboto', sans-serif;
font-weight: 400;
font-size: 12px;
background:#fff;
height:100%;
text-align:left;
color:#1e1e1e;
}
@-o-viewport {width: device-width;}
@-ms-viewport {width: device-width;}
@viewport {width: device-width;}
/*--------------Typography---------*/
p {
	text-align: left;
    line-height: 24px;
    padding-bottom: 10px;
	font-weight: 500;
    color: #5e646a;
}
blockquote {
	float:left;
	padding: 10px 20px 0;
	margin: 0 0 20px;
	border-left: 10px solid #eee;
	position:relative;
}
blockquote p {
	font-style:italic;
	font-size: 13px;
	color: #333;
}



.breadcrumbs-list {
	position: relative;
	height: 64px;
	line-height: 64px;
	padding:0 150px 0 30px;
}
.breadcrumbs-list.bl_flat {
	background: #f9f9f9;
	border-radius: 10px;
	margin: 20px 0;
	border: 1px solid #eee;
}
.breadcrumbs-list a , .breadcrumbs-list span {
	float: left;
	position: relative;
	margin-right: 20px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: .95em;
	padding-right: 20px;
}
.breadcrumbs-list a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    font-size: 11px;
	color:#111635;
}
.breadcrumbs-list_dec {
	position: absolute;
	width: 54px;
	height: 54px;
	line-height: 60px;
	right: 6px;
	top: 50%;
	margin-top: -27px;
	border-radius: 50%;
	background:var(--primary-blue);
}
.breadcrumbs-list.bl_flat  .breadcrumbs-list_dec{
	border-radius: 10px;	
    color:#FFFFFF;
    text-align: center;
}
.breadcrumbs-list_dec i {
	font-size: 1.5em;
	transform: rotate(45deg);
	font-weight: 300;
}

@media only screen and  (max-width: 640px) {
    
    .breadcrumbs-list {
        padding: 0 20px;
    }
    }

/* Topo refinado */
.top-bar {
    background-color: var(--primary-blue-dark);
    color: var(--white-alpha);
    padding: 6px 0;
    font-size: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.top-bar a {
    text-decoration: none;
    transition: all 0.2s ease;
}

.top-bar a:hover {
    color: #fff !important;
    opacity: 0.9;
}

.social-media-section {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.9);
}

.social-media-divider {
    width: 1px;
    height: 16px;
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent);
    margin: 0 4px;
}

.top-bar .social-icons {
    display: flex;
    gap: 6px;
}

.top-bar .social-icons a {
    background-color: rgba(255, 255, 255, 0.08);
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: 12px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.top-bar .social-icons a:hover {
    background-color: var(--primary-blue-light);
    transform: translateY(-1px);
}

.top-bar .social-icons a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.1);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.top-bar .social-icons a:active::after {
    opacity: 1;
}

.phone-section {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    margin-right: 20px;
}

.phone-number {
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #fff;
}

.phone-section i {
    color: rgba(255, 255, 255, 0.7);
}

.login-section {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.login-section:hover {
    background-color: var(--primary-blue-light);
}

.login-section i {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
}

/* Animação de pulso para o ícone de telefone */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.phone-section:hover i {
    animation: pulse 1s infinite;
    color: #fff;
}

.main-header {
    background-color: var(--primary-blue);
    padding: 15px 0;
}

.logo-prefeitura {
    max-height: 105px;
    width: auto;
}

.search-container {
    position: relative;
    width: 100%;
}

.search-input {
    border-radius: 50px !important;
    padding: 12px 20px !important;
    padding-right: 120px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: white !important;
    font-size: 14px;
    transition: all 0.3s ease;
}

.search-input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.search-input:focus {
    background-color: rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 0 0 4px rgba(40, 51, 116, 0.2) !important;
}

.search-actions {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-voice,
.btn-search {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
    background-color: var(--primary-blue-dark);
    color: white;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 12px;
}

.btn-voice:hover,
.btn-search:hover {
    background-color: var(--primary-blue-light);
    transform: scale(1.05);
}

.btn-voice {
    position: relative;
    overflow: hidden;
}

.btn-voice::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.btn-voice.listening::before {
    opacity: 1;
    animation: pulse-voice 2s infinite;
}

@keyframes pulse-voice {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.2; }
    100% { transform: scale(0.95); opacity: 0.5; }
}

/* Ajustes Mobile */
@media (max-width: 768px) {
    /* Ajuste do logo */
    .col-md-3 {
        text-align: center;
    }

    .logo-prefeitura {
        max-height: 45px;
        margin: 10px 0;
    }

    /* Ajuste do campo de busca */
    .search-container {
        margin: 15px 0;
    }

    /* Ajuste da seção de contato */
    .top-contact-section {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        padding: 5px 0;
    }

    .phone-section,
    .login-section {
        flex: 0 1 auto;
        padding: 8px 15px;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 4px;
        white-space: nowrap;
    }

    /* Ajuste dos botões CIDADÃO e EMPRESA */
    .col-md-3.text-end {
        display: flex;
        justify-content: center;
        gap: 10px;
        padding: 0 15px;
        margin: 10px 0;
    }

    .btn-cidadao,
    .btn-empresa {
        flex: 1;
        max-width: 150px;
        margin: 0;
        padding: 10px;
        font-size: 13px;
        background-color: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Ajuste da seção social */
    .social-media-section {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        padding: 8px 0;
    }

    .d-flex.justify-content-between {
        flex-direction: column;
        gap: 10px;
    }

    .social-media-divider {
        display: block !important; /* Mantém o separador visível */
        width: 1px;
        height: 16px;
        background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent);
        margin: 0 4px;
    }

    .social-icons, .accessibility-tools {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin: 5px 0;
    }

    /* Organiza os grupos de ícones */
    .tools-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 8px;
    }

    .tools-group-row {
        display: flex;
        gap: 12px;
        align-items: center;
        justify-content: center;
    }

    /* Ajusta a seção de contato */
    .contact-section {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        padding-bottom: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 8px;
    }

    .contact-section .mx-2 {
        display: none;
    }

    /* Ajusta os botões de acessibilidade */
    .accessibility-btn {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }

    /* Remove margens desnecessárias */
    .mb-md-0 {
        margin-bottom: 0 !important;
    }

    /* Ajuste para labels no mobile */
    .form-label {
        text-align: left !important;
        display: block;
        margin-bottom: 0.5rem;
    }

    .form-select {
        text-align: left;
    }
}

/* Ajustes para telas muito pequenas */
@media (max-width: 375px) {
    .phone-section,
    .login-section {
        padding: 6px 10px;
        font-size: 12px;
    }

    .btn-cidadao,
    .btn-empresa {
        font-size: 12px;
        padding: 8px;
    }

    .tools-group-row {
        flex-wrap: wrap;
    }
}

.menu-cidadao {
    padding: 20px;
    min-width: 320px;
    border: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    margin-top: 10px;
    background-color: var(--primary-blue-darker);
}

.menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 5px;
}

.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 15px 10px;
    color: white;
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    transition: all 0.25s ease;
}

.menu-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    margin-bottom: 8px;
    transition: all 0.25s ease;
}

.menu-item i {
    font-size: 18px;
    color: white;
}

.menu-item span {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
}

.menu-item:hover {
    background-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
}

.menu-item:hover .menu-icon {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

/* Ajustes Mobile */
@media (max-width: 768px) {
    .menu-grid {
        gap: 15px;
    }

    .menu-icon {
        width: 36px;
        height: 36px;
    }

    .menu-item i {
        font-size: 16px;
    }
}

/* Ajustes para telas muito pequenas */
@media (max-width: 375px) {
    .menu-cidadao {
        padding: 20px 15px;
    }

    .menu-grid {
        gap: 10px;
    }
}

/* Ajuste dos botões do topo */
.btn-cidadao,
.btn-empresa {
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 8px 16px;
    margin-left: 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-weight: 500;
    letter-spacing: 0.3px;
    min-width: 120px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn-cidadao:hover,
.btn-empresa:hover,
.btn-cidadao:focus,
.btn-empresa:focus {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.3);
    color: white;
}

/* Remove as bordas pretas do dropdown */
.dropdown-toggle::after {
    margin-left: 0;
    vertical-align: middle;
}

/* Ajuste do menu dropdown */
.dropdown-menu {
    border: none;
    padding: 0;
    margin-top: 10px;
    background-color: var(--primary-blue);
}

/* Ajustes Mobile */
@media (max-width: 768px) {
    .menu-cidadao {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        border-radius: 15px 15px 0 0;
        padding: 25px 20px;
        z-index: 1050;
    }

    .menu-cidadao::before {
        display: none;
    }

    .menu-grid {
        gap: 15px;
    }

    .menu-item {
        padding: 12px 8px;
    }

    .menu-item i {
        font-size: 20px;
        margin-bottom: 6px;
    }

    .menu-item span {
        font-size: 12px;
    }

    .btn-cidadao,
    .btn-empresa {
        flex: 1;
        max-width: 140px;
        min-width: 0;
        margin: 0;
        padding: 10px;
        font-size: 12px;
        white-space: nowrap;
        letter-spacing: 0.2px;
    }

    .col-md-3.text-end {
        display: flex;
        justify-content: center;
        gap: 10px;
        padding: 0 15px;
        margin: 10px 0;
    }

    .dropdown.d-inline-block {
        flex: 1;
        max-width: 140px;
    }
}

/* Ajustes para telas muito pequenas */
@media (max-width: 375px) {
    .menu-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .menu-item {
        padding: 10px 6px;
    }

    .menu-item i {
        font-size: 18px;
    }

    .menu-item span {
        font-size: 11px;
    }

    .btn-cidadao,
    .btn-empresa {
        font-size: 11px;
        padding: 8px 6px;
        letter-spacing: 0;
    }

    .dropdown-toggle::after {
        margin-left: 4px;
    }
}

.main-nav {
    background-color: var(--primary-blue-darker);
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
}

.navbar-toggler {
    color: white;
    border: none;
    background: var(--primary-blue);
    padding: 8px 12px;
    font-size: 18px;
    border-radius: 4px;
    height: 38px; /* Mesma altura do botão EMPRESA */
    display: none; /* Esconde por padrão */
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.nav-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 10px;
}

.nav-link {
    color: white;
    text-decoration: none;
    padding: 15px 20px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: var(--primary-blue-light);
    transition: width 0.3s ease;
}

.nav-link:hover {
    color: white;
    background-color: rgba(255, 255, 255, 0.1);
}

.nav-link:hover::after {
    width: 100%;
}

/* Ajustes Mobile */
@media (max-width: 768px) {
    .nav-menu {
        flex-direction: column;
        padding: 0;
        margin: 0;
    }

    .nav-link {
        padding: 12px 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        width: 100%;
        text-align: left;
        font-size: 14px;
    }

    .nav-link:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .nav-link::after {
        display: none;
    }

    /* Animação do menu */
    .navbar-collapse {
        transition: max-height 0.35s ease;
        max-height: 0;
        overflow: hidden;
    }

    .navbar-collapse.show {
        max-height: 400px;
    }
}

/* Ajustes para telas muito pequenas */
@media (max-width: 375px) {
    .nav-menu {
        padding: 8px;
    }

    .nav-link {
        padding: 6px 10px;
        font-size: 11px;
        min-width: calc(50% - 4px);
    }
}

.accessibility-bar {
    background-color: rgba(255, 255, 255, 0.08);
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.accessibility-tools {
    display: flex;
    align-items: center;
    gap: 8px;
}

.accessibility-btn {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    padding: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 4px;
}

.accessibility-btn:hover {
    color: white;
    background-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-1px);
}

.accessibility-btn:focus {
    outline: 2px solid var(--primary-blue-light);
    outline-offset: 2px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Ajustes Mobile */
@media (max-width: 768px) {
    .accessibility-tools {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .navbar-toggler {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .navbar-toggler:hover {
        background: var(--primary-blue-light);
    }

    .navbar-toggler:focus {
        outline: none;
        box-shadow: none;
    }

    /* Ajuste para o gap entre os botões */
    .gap-2 {
        gap: 0.5rem!important;
    }
}

/* Ajuste para os botões no mobile */
@media (max-width: 768px) {
    .col-md-3.text-end .d-flex {
        justify-content: center;
        width: 100%;
        gap: 8px;
    }

    .btn-cidadao,
    .btn-empresa {
        padding: 8px 16px;
        font-size: 13px;
    }

    .dropdown-menu {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        width: 100%;
        margin-top: 0;
        border-radius: 0;
        transform: none !important;
    }
}

/* Adicione estes estilos se ainda não existirem */
.menu-empresa {
    min-width: 280px;
    padding: 15px;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.menu-empresa .menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* Garanta que os estilos do menu-item existam */
.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 15px 10px;
    color: var(--primary-blue-dark);
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.menu-item:hover {
    background-color: rgba(40, 51, 116, 0.05);
    transform: translateY(-1px);
}

.menu-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(40, 51, 116, 0.1);
    border-radius: 8px;
    margin-bottom: 8px;
    color: var(--primary-blue);
    transition: all 0.2s ease;
}

.menu-item:hover .menu-icon {
    background-color: var(--primary-blue);
    color: white;
}

/* Ajuste o posicionamento dos dropdowns */
@media (max-width: 768px) {
    .dropdown-menu {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        width: 100%;
        margin-top: 0 !important;
        border-radius: 0;
        top: calc(var(--menu-top, 50%) + 10px) !important; /* Alterado para +10px para descer mais */
        max-height: calc(100vh - 200px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 1050;
    }
}

/* Ajustes para o desktop */
@media (min-width: 769px) {
    .top-bar {
        height: 40px; /* Altura fixa para o topo */
    }

    .top-bar .container {
        height: 100%;
    }

    .top-bar .d-flex {
        height: 100%;
    }

    .accessibility-tools {
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .accessibility-btn {
        padding: 4px;
        font-size: 14px;
    }

    /* Ajuste do espaçamento entre elementos */
    .social-media-divider {
        margin: 0 12px;
    }

    /* Ajuste do tamanho dos ícones sociais */
    .social-icons {
        display: flex;
        gap: 8px;
    }

    .social-icons a {
        width: 24px;
        height: 24px;
    }
}


.home-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280 !important;
}

.home-link:hover {
    color: var(--primary-blue) !important;
}





/* Estilo moderno para a seção de busca */
.search-section {
    background: #f8f9fa;
    border-radius: 4px;
    padding: 20px;
}

.search-section h5 {
    color: #333;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 20px;
}

.form-label {
    font-size: 13px;
    color: #333;
    margin-bottom: 4px;
}

.form-control, .form-select {
    font-size: 13px;
    height: 35px;
    padding: 6px 12px;
}

.btn-secondary {
    background-color: #6c757d;
    border: none;
    font-size: 13px;
    padding: 8px 16px;
}

.btn-secondary:hover {
    background-color: #5a6268;
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .search-section {
        padding: 15px;
    }
}

/* Ajuste para o select */
.form-select {
    font-size: 13px;
    color: #333;
}

.form-select option {
    padding: 8px 12px;
}

/* Estilo para os botões de ação */
.text-end .btn-light {
    background-color: #fff;
    border: 1px solid #dee2e6;
    color: #666;
    font-size: 12px;
    padding: 6px 12px;
    margin-left: 5px;
    font-weight: 500;
}

.text-end .btn-light:hover {
    background-color: #f8f9fa;
    border-color: #ced4da;
    color: var(--primary-blue);
}

.text-end .btn-light i {
    font-size: 11px;
    opacity: 0.8;
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .text-end {
        display: flex;
        gap: 5px;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .text-end .btn-light {
        margin-left: 0;
    }
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .action-buttons {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 1rem; /* Reduzindo a margem superior no mobile */
    }

    .action-buttons .btn {
        flex: 0 1 auto;
    }

    /* Mantém o separador visível no mobile */
    .breadcrumb-divider {
        display: block !important;
        color: #D1D5DB;
        font-size: 12px;
        font-weight: 300;
        user-select: none;
    }
}

/* Estilo dos modais */
.modal-content {
    border: none;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    overflow: hidden;
}

.modal-header {
    background: linear-gradient(45deg, var(--primary-blue), var(--primary-blue-light));
    padding: 1.5rem;
    border: none;
}

.modal-header .modal-title {
    color: white;
    font-size: 1.35rem;
    font-weight: 500;
}

.modal-header .btn-close {
    color: white;
    opacity: 0.8;
    filter: brightness(0) invert(1);
}

.modal-body {
    padding: 2rem;
}

/* Estilo dos inputs do modal */
.modal .form-control {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
    font-size: 14px;
    height: 38px;
}

.modal .input-group {
    height: 38px;
}

.modal .input-group-text {
    background-color: white;
    border: 1px solid #dee2e6;
    border-right: none;
    padding: 0.5rem 0.75rem;
    color: #666;
    font-size: 14px;
}

.modal .form-control:focus {
    border-color: var(--primary-blue);
    box-shadow: none;
}

.modal .form-control:focus + .input-group-text {
    border-color: var(--primary-blue);
}

.modal .btn-outline-secondary {
    border: 1px solid #dee2e6;
    border-left: none;
    background: white;
    color: #666;
    height: 38px;
    padding: 0 12px;
}

.modal .btn-outline-secondary:hover {
    background-color: #f8f9fa;
    color: var(--primary-blue);
}

.modal .form-label {
    font-size: 14px;
    color: #333;
    margin-bottom: 0.5rem;
}

.modal .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 4px;
    margin-top: 0.2rem;
}

.modal .form-check-input:checked {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
}

/* Estilo dos links */
.modal .text-primary {
    color: var(--primary-blue) !important;
    font-weight: 500;
    transition: all 0.2s;
}

.modal .text-primary:hover {
    color: var(--primary-blue-dark) !important;
    text-decoration: underline !important;
}

/* Estilo do botão */
.modal .btn-primary {
    background: linear-gradient(45deg, var(--primary-blue), var(--primary-blue-light));
    border: none;
    padding: 0.8rem;
    font-weight: 500;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.modal .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(40, 51, 116, 0.2);
}

/* Estilo do botão toggle password */
.modal #togglePassword {
    border: 1px solid #e0e0e0;
    border-left: none;
    color: #666;
}

.modal #togglePassword:hover {
    background-color: #f8f9fa;
    color: var(--primary-blue);
}

/* Textos */
.modal .text-muted {
    color: #666 !important;
    font-size: 0.9rem;
}

/* Animações dos modais */
.modal.fade .modal-dialog {
    transform: scale(0.8);
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.modal.show .modal-dialog {
    transform: scale(1);
    opacity: 1;
}

/* Animação de saída */
.modal.fade.closing .modal-dialog {
    transform: scale(0.8);
    opacity: 0;
}

/* Animação para troca de modais */
.modal.switching-out .modal-dialog {
    transform: translateX(-100px);
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.modal.switching-in .modal-dialog {
    transform: translateX(100px);
    opacity: 0;
}

.modal.switching-in.show .modal-dialog {
    transform: translateX(0);
    opacity: 1;
}

/* Estilo melhorado do card */
.card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.06);
}

.card-body {
    padding: 1.25rem;
}

.card-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #eee;
    padding-bottom: 1rem;
}

.card-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-blue);
    margin: 0;
}

.card-subtitle {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: #666;
    margin-bottom: 1rem;
}

.card-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.info-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: #666;
}

.info-item i {
    color: var(--primary-blue);
    opacity: 0.7;
    font-size: 0.875rem;
    width: 16px;
}

/* Responsividade */
@media (max-width: 992px) {
    .card-info {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .card-info {
        grid-template-columns: 1fr;
    }
    
    .info-section {
        gap: 0.5rem;
    }
}

/* Ajuste do footer */
.card-footer {
    margin-top: 1.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-end;
}

.status-badge {
    font-size: 0.6875rem;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 500;
    color: white;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.status-badge i {
    font-size: 0.75rem;
    color: white; /* Cor do ícone */
}

/* Exceção para o status suspenso que tem fundo amarelo */
.status-suspenso i {
    color: #000; /* Mantém o ícone preto para contraste com fundo amarelo */
}

.status-aberto {
    background-color: #28a745;
}

.status-suspenso {
    background-color: #ffc107;
    color: #000;
}

.status-anulado {
    background-color: #dc3545;
}

.status-revogado {
    background-color: #6c757d;
}

.status-em-julgamento {
    background-color: #17a2b8;
}

.status-concluido {
    background-color: #007bff;
}

.status-homologado {
    background-color: #20c997;
}

.status-adiado {
    background-color: #e83e8c;
}

.status-em-andamento {
    background-color: #6f42c1;
}

.status-redesignado {
    background-color: #fd7e14;
}

.status-em-convocacao {
    background-color: #0dcaf0;
}

.status-encerrado {
    background-color: #495057;
}

/* Estilo do botão de colapso */
.btn-collapse {
    background: none;
    border: none;
    color: #999;
    padding: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-collapse:hover {
    color: var(--primary-blue);
}

.btn-collapse i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

/* Rotação da seta quando colapsado */
.btn-collapse.collapsed i {
    transform: rotate(180deg);
}

/* Estilo dos botões de ação */
.action-buttons {
    margin-top: 0.75rem;
    display: flex;
    gap: 0.5rem;
}

.btn-action {
    font-size: 0.75rem;
    padding: 4px 12px;
    border-radius: 4px;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-action i {
    font-size: 0.75rem;
}

.btn-subscribe {
    background-color: #28a745;
    color: white;
}

.btn-subscribe:hover {
    background-color: #218838;
}

.btn-appeal {
    background-color: #dc3545;
    color: white;
}

.btn-appeal:hover {
    background-color: #c82333;
}

/* Estilo do botão de collapse na seção de busca */
.search-section .btn-collapse {
    background: none;
    border: none;
    color: #666;
    padding: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.search-section .btn-collapse:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color: var(--primary-blue);
}

.search-section .btn-collapse i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.search-section .btn-collapse[aria-expanded="false"] i {
    transform: rotate(180deg);
}

.search-section .collapse {
    transition: all 0.3s ease-in-out;
}

/* Ajuste para desktop */
@media (min-width: 768px) {
    .search-section .btn-collapse {
        margin-left: auto;
    }
    
    .search-section h5 {
        margin-right: 1rem;
    }
}

/* Ajuste para mobile */
@media (max-width: 767px) {
    .search-section .btn-collapse {
        margin-left: 0.5rem;
    }
}

/* Estilo da paginação */
.pagination {
    gap: 5px;
}

.page-link {
    border: none;
    padding: 8px 12px;
    color: #666;
    background-color: #e9ecef;
    border-radius: 4px !important;
    font-size: 14px;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

.page-link:hover {
    background-color: var(--primary-blue);
    color: white;
}

.page-item.active .page-link {
    background-color: var(--primary-blue-light);
    color: white;
    border: none;
}

.page-item:not(.active) .page-link:focus {
    box-shadow: none;
}

/* Ajuste responsivo */
@media (max-width: 576px) {
    .pagination {
        gap: 3px;
    }
    
    .page-link {
        padding: 6px 10px;
        font-size: 13px;
    }
}

/* Estilos do Footer */
.footer {
    background-color: #1E2732;
    color: rgba(255, 255, 255, 0.9);
    padding: 0;
}

.footer-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
}

.footer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.footer-item i {
    font-size: 24px;
    color: #45C176;
    margin-bottom: 4px;
}

.footer-item-title {
    color: white;
    font-weight: 500;
    font-size: 14px;
    margin: 0;
}

.footer-item-text {
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    margin: 0;
}

.footer-item a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-item a:hover {
    color: white;
}

.footer-item .aqui-link {
    color: #45C176;
    font-weight: 500;
}

/* Barra de versão do sistema */
.version-bar {
    background: linear-gradient(90deg, var(--primary-blue-darker) 0%, var(--primary-blue-dark) 50%, var(--primary-blue) 100%);
    color: white;
    padding: 8px 0;
    font-size: 13px;
}

.version-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.version-info i {
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.8);
}

.copyright-bar {
    background: #1E2732;
    color: white;
    padding: 6px 0;
    font-size: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.copyright-text {
    color: white;
    opacity: 0.9;
}

.instar-link {
    color: white;
    text-decoration: none;
    opacity: 0.9;
    transition: opacity 0.2s ease;
}

.instar-link:hover {
    opacity: 1;
    color: white;
}

@media (max-width: 768px) {
    .footer-info {
        flex-direction: column;
        gap: 30px;
        padding: 20px 0;
    }

    .footer-item {
        width: 100%;
    }
}

/* Estilos do Footer */


.footer-item img {
    height: 60px;
    width: auto;
    margin: 0 20px;
}


/* forms */
.cs-intputwrap {
	position: relative;
	margin-bottom:14px;
} 
.cs-intputwrap i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    color: var(--main-color);
 	z-index: 10;
}
.custom-form  textarea , .custom-form input[type="text"] , .custom-form  input[type=email] , .custom-form  input[type=password] , .custom-form  input[type=button] , .listsearch-input-item input[type="text"], .custom-form  input[type="date"] {
    border: 1px solid #eee;
    background:#f9f9f9;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0); 	
    height: 56px;
    width: 100%;
    padding: 17px 20px 17px 50px ;
    border-radius: 4px;
    color: #222;
    font-size:12px;
    -webkit-appearance: none;
    outline:none;
    overflow:hidden;
    font-family: var(--main-font);
    font-weight: 500;
}

.custom-form  textarea::-webkit-input-placeholder , .custom-form  input[type="text"]::-webkit-input-placeholder  , .listsearch-input-item input[type="text"]::-webkit-input-placeholder  , .custom-form  input[type=password]::-webkit-input-placeholder  , .custom-form  input[type="date"]::-webkit-input-placeholder {
    color:#666;
    font-size: .95em;
    font-family: var(--main-font);
}

.custom-form  textarea:focus , .custom-form input[type="text"]:focus  , .custom-form  input[type=email]:focus  , .custom-form  input[type=password]:focus , .listsearch-input-item input[type="text"]:focus , .custom-form  input[type="date"]:focus {
    background:#fff;
    box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0.04);
}
.custom-form  textarea{
	height: 200px;
    resize: none;
    padding: 25px 20px;
	-webkit-appearance: none;
}
.filter-tags {
	z-index: 1;
	position: relative;
	overflow: hidden;
}
.filter-tags li {
	float: left;
	margin-right: 10px;
	cursor: pointer;
}
.ds-tg li {
	width: 33.333333%;
	margin: 0 0 12px 0
}
.filter-tags input , .custom-form  .filter-tags input {
	float:left;
	position:relative;
	border: 1px solid #ddd;
    cursor: pointer;
    padding: 0;
    width: 20px;
    height: 20px;
	border-radius:4px;
	color:#fff;
	background:#f9f9f9;
	-webkit-appearance: none;
}
.custom-form.dark-form  .filter-tags input {
	border-color:transparent;
	background:rgba(255,255,255,0.21);
} 
.filter-tags input:checked:after , .custom-form  .filter-tags input:checked:after  {
    font-family: "Font Awesome 6 Pro";
	content: "\f00c";
	font-size: 12px;
	position: absolute;
	top:2px;
	left: 4px;
	z-index:20;
	color:var(--main-color);
}
.filter-tags label , .custom-form  .filter-tags label  {
	float:left;
	padding:0 10px;
	position:relative;
	top:2px;
	width:auto;
}
.custom-form.dark-form  .filter-tags label {
	color:#fff;
}  
.custom-form.dark-form  label {
	color:rgba(255,255,255,0.71);
}
.vis-label {
	margin-bottom:10px;
	font-size: 12px;
}
.custom-form label.vis-label i {
	top:44px;
}
.custom-form button {
	outline:none;
	border:none;
	cursor:pointer;
	-webkit-appearance: none;
	font-family: var(--main-font);
}
.custom-form  input[type=number]::-webkit-inner-spin-button, .custom-form input[type=number]::-webkit-outer-spin-button{
   -webkit-appearance: none;
    margin: 0;
}
.custom-form  input[type=number]{
    -moz-appearance: textfield;
}
.custom-form .quantity  {
	position:relative;
	overflow: hidden;
}
.custom-form .quantity input.minus , .custom-form .quantity input.plus , .custom-form .quantity input.qty {
	width:44px;
	height:54px;
	border-radius:0;
	border:none;
	text-align:center;
	padding:0;
	cursor:pointer;
	background: #f9f9f9;
	font-size: 1.4em;
}
.custom-form .quantity input.plus {
	border-radius:0 6px 6px 0;
}
.custom-form .quantity input.minus {
	border-radius:  6px 0 0 6px;
}
.quantity-item{
	float:right;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
}
.custom-form .quantity input.qty {
	font-family: var(--main-font);
	width:44px;
	height:44px; 	
 	border-radius: 50%;
	font-size: 1.1em;
	cursor:default;
	color:var(--main-color);
	background: #fff;
	border: 1px solid #eee;
    box-shadow: 0 10px 24px 0px rgba(0, 0, 0, .07);
}
.custom-form.no-icons input , .custom-form.no-icons textarea {
	padding-left:10px;
}
.custom-form.no-icons label {
	margin-bottom:20px;
}

.foco-select {
    position: relative;
    display: inline-block;
    width: 100%;
}

.foco-select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    height: 55px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid #eee;
	background:#f9f9f9;
	box-shadow: 0px 10px 14px 0px rgba(12, 0, 46, 0); 	
    padding: 17px 20px 17px 50px ;
    border-radius: 4px;
	color: #222;
	font-size:12px;
	outline:none;
	overflow:hidden;
	font-weight: 500;
}

.foco-select select:focus {
    transform: translateY(-1px);
}

.foco-select::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #2c3e50;
    transform: translateY(-50%);
    pointer-events: none;
    transition: transform 0.3s ease;
}

.foco-select select:focus + .foco-select::after {
    transform: translateY(-50%) rotate(180deg);
}
.foco-select select option {
    background-color: #eaeaea !important;
    color: #222 !important;
    padding: 17px 20px 17px 50px ;
    font-size:12px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.foco-select select option:hover {
    background-color: #f1f1f1;
}
.foco-label{
    font-size:12px;
    color:#333;
    margin-bottom:2px;
    font-weight: 600;
}

.upload-area {
    width: 100%;
    min-height: 200px;
    border: 2px dashed #ccc;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #fafafa;
    position: relative;
    overflow: hidden;
}

.upload-area:hover {
    border-color: #2196f3;
    background-color: #f0f8ff;
}

.upload-content {
    text-align: center;
    padding: 20px;
}

.upload-text {
    margin-top: 15px;
    color: #666;
    font-size: 16px;
}

.file-input {
    display: none;
}

.preview-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preview-wrapper {
    position: relative;
    width: 150px;
    height: 150px;
}

.preview-file {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
}

.preview-thumb {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.pdf-preview {
    background-color: #dc3545;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.pdf-preview i {
    font-size: 48px;
    margin-bottom: 8px;
}

.pdf-name {
    font-size: 12px;
    text-align: center;
    padding: 0 10px;
    word-break: break-word;
}

.remove-file {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #dc3545;
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.remove-file:hover {
    background: #c82333;
}

.upload-types {
    margin-top: 8px;
    color: #666;
    font-size: 14px;
}

.error-message {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #dc3545;
    color: white;
    padding: 10px;
    text-align: center;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.error-message.show {
    transform: translateY(0);
}

.error-message i {
    font-size: 16px;
}

.camera-btn {
    margin-top: 15px;
    padding: 8px 16px;
    border: 2px solid #2196f3;
    background: transparent;
    color: #2196f3;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.camera-btn:hover {
    background: #2196f3;
    color: white;
}

.camera-btn i {
    font-size: 16px;
}
.password-wrap {
    position: relative;
}

.toggle-password {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #828282;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.toggle-password:hover {
    color: #333;
}

.cs-intputwrap.password-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.cs-intputwrap.password-wrap input[type="password"],
.cs-intputwrap.password-wrap input[type="text"] {
    padding-right: 40px;
    width: 100%;
}

.cs-intputwrap.password-wrap i.fa-lock {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.password-generator {
    border-radius: 5px;
    margin-bottom: 20px;
    padding:5px 0;
}

.generate-button {
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.generate-button:hover {
    background: #0056b3;
    transform: translateY(-1px);
}

.generate-button i {
    font-size: 1.2em;
}

.generated-password-container {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px;
    margin-top: 15px;
}

.generated-password {
    flex: 1;
    font-family: monospace;
    font-size: 1.1em;
    margin-right: 10px;
    user-select: all;
    color: #333;
}

.copy-button {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 5px;
    transition: all 0.3s ease;
    font-size: 1.1em;
}

.copy-button:hover {
    color: #007bff;
    transform: scale(1.1);
}

.password-strength {
    margin-top: 10px;
    font-size: 0.9em;
    color: #666;
    font-weight: 500;
}

.form-check {
    margin-top: 15px;
}

.form-check .form-check-input {
    width: 1.5em;
    height: 1.5em;
    margin-right: 10px;
    cursor: pointer;
}

.form-check .form-check-label {
    padding-left: 5px;
    cursor: pointer;
    font-size: 1.1em;
    display: flex;
    align-items: center;
}



.boxed-content {
	position: relative;
	background: #fff;
	border-radius: 20px;
	border: 1px solid #eee;
	margin-bottom: 20px;
}
.fixed-form .boxed-content {
	margin: 0;
}
.boxed-content-title {
	padding: 25px 50px;
	border-bottom: 1px solid #eee;
	position: relative;
	background: #fff;
	border-radius: 20px 20px 0 0;
}
.boxed-content-title:before , .boxed-content-title:after , .lws_column .list-searh-input-wrap-title:before , .lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:before , .contacts-card-item span:after , .help-item-title:before , .help-item-title:after   , .testi-header:before , .testi-header:after   {
	content: '';
	position: absolute;
	right: 50px;
	height: 8px; 
	background: var(--primary-blue);
	top: 50%;
	margin-top: -4px;
	border-radius: 10px;
}
.boxed-content-title:before, .lws_column .list-searh-input-wrap-title:before , .contacts-card-item span:before , .help-item-title:before , .testi-header:before   {
	width: 20px;
}

.help-item-title:before , .testi-header:before  {
	right: 30px
}
.hsc_flat .hero-section-title h2:before , .lws_column .list-searh-input-wrap-title:before , .contacts-card-item span:before {
	right: 0;
}
.hero-section-title {
	position: relative;
}
.boxed-content-title:after  , .lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:after  , .help-item-title:after , .testi-header:after     {
	width: 12px;
	right: 70px;
	background: #ddd
}
.help-item-title:after , .testi-header:after {
	right: 50px;
}
.lws_column .list-searh-input-wrap-title:after      {
	right: 21px;
} 
.lws_column .list-searh-input-wrap-title:after , .contacts-card-item span:after        {
	right: 21px;
}

.list-searh-input-wrap.lws_column {
	padding-bottom: 20px;
}
.list-searh-input-wrap.list-searh-input-wrap-hero {
	margin-top: 50px;
	border-radius: 4px;
	padding:  10px!important;
}
.list-searh-input-wrap.list-searh-input-wrap-hero .commentssubmit , .lsw_mb-btn  .commentssubmit{
    height: 56px;
    line-height: 56px;
}
.list-searh-input-wrap.lsw_mb-btn {
	padding-bottom: 20px;
}
.list-searh-input-wrap-hero .cs-intputwrap {
    margin-bottom: 0;
}
.boxed-content-title h3 {
	text-align: left;
	font-size: 1.5em;
	font-weight: 600;
}
.boxed-content-item {
	padding: 30px 50px;
}
.boxed-content-item.bc-item_smal_pad {
	padding: 20px 50px;
}
.boxed-content-item.bc-item_smal_pad2 {
	padding: 30px;
}
.scroll-content-wrap {
	position: relative;
	padding-left: 100px;
}

/*------faq------------------------------------------------*/
.faq-nav-wrap {
	padding: 20px 50px;
}
.faq-nav {
	position: relative;
 	margin-bottom: 20px;
}
.faq-nav li {
   text-align: left;
   width: 100%;
   margin-bottom: 10px;
}
.faq-nav li a {
    display: block;
    padding: 0  25px  ;
	height: 60px;
	line-height: 60px;
    position: relative;
    text-transform: uppercase;
    font-weight: 600;
    border : 1px solid #eee;
	border-radius: 10px;
	font-size: .9em;
	transition: all .2s ease-in-out;
}
.act-scrlink , .faq-nav li a:hover {
	background: #f9f9f9;
}
.faq-nav li a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0da";
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 5px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border: 1px solid #eee;
	background: #f9f9f9;
	border-radius: 10px;
	text-align: center;
    font-size: 12px;
	color:var(--main-color);
    font-weight: 900;
	transition: all .2s ease-in-out;
}
.faq-nav li a.act-scrlink:before , .faq-nav li a:hover:before {
	background: #fff;
}