* {
    outline: none;
}
a,
button {
    text-decoration: none!important;
    cursor: pointer!important;
    transition: 1s;
}
p {
    line-height: 1.5;
}
ul {
    padding: 0;
}
li {
    list-style: none;
}

.list-custom-blue {
    list-style: none; 
    padding-left: 1.5rem;
}

.list-custom-blue li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.5rem;
}

.list-custom-blue li::before {
    content: '•'; 
    position: absolute;
    left: 0;
    color: #05589B;
    font-size: 1.2em;
    line-height: 1;
}


body {
    margin: 0;
    font-family: "Roboto", sans-serif;
}
.container {
    max-width: 1240px!important;
    width: 100%;
}

.modal-dialog {
    max-width: 750px;
    margin-top: 0;
}
.modal-body {
    padding: 0;
}

.titulo-geral {
    color: #05589B;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 30px;
}
.titulo-geral:after {
    content: "";
    display: table;
    width: 67px;
    height: 7px;
    background: url("../images/borda.svg") no-repeat;
    margin: 10px auto 0;
}

.arrow-down-vitrine {
    position: absolute;
    bottom: 60px;
    left: calc(50% - 17px);
    z-index: 5;
    padding: 4px;
}
.arrow-down-vitrine:not(:hover) img {
    -webkit-animation: 3s ease-in-out infinite fade_move_down;
    -moz-animation: 3s ease-in-out infinite fade_move_down;
    animation: 3s ease-in-out infinite fade_move_down;
}

.videos-interna video {
    border-radius: 10px;
}

.owl-dots {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    margin-top: -30px;
    position: relative;
    z-index: 9;
}
.owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    cursor: pointer;
    cursor: hand;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    margin: 5px;
    background: #888888;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 30px;
}
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot:hover span {
    background: #FFFFFF;
}

.btn-geral {
    font-size: 16px;
    color: #fff;
    text-align: center;
    display: table;
    background: #05589B;
    padding: 10px 30px;
    border-radius: 10px;
}
.btn-geral:hover {
    color: #fff;
    background: #00AD12;
}

nav.navbar {
    height: 110px;
}
ul.nav,
.navbar-default,
.navbar-header .navbar-brand,
#bs-example-navbar-collapse-1 {
    transition: .5s;
}
.navbar-default {
    background: transparent;
    border-color: transparent;
    margin-bottom: 0px;
    border: none;
    transition: .5s;
}
#bs-example-navbar-collapse-1 {
    float: right;
    padding: 0;
    transition: .5s;
}
ul.navbar-nav>li>a,
li.nav-item a.dropdown-item {
    font-size: 16px;
    color: #05589B !important;
    padding: 10px 5px;
}
li.nav-item a.dropdown-item {
    text-align: center;
}
.navbar  ul>li>a:hover,
.navbar  ul>li>a:active,
.navbar  ul>li>a:focus,
.navbar  ul>li>a.active {
    color: #00AD12!important;
}
.nav-link.dropdown-toggle {
    padding: 0!important;
}

.banner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: calc(100vh - 110px);
}
.video-header {
    width: 100%;
    height: calc(100vh - 110px);
    object-fit: cover;
}
.banner .conteudo {
    position: absolute;
    width: 100%;
    height: calc(100vh - 110px);
    top: 0;
    display: flex;
    align-items: flex-end;
    padding-bottom: 15px;
}
.banner .texto {
    display: flex;
    justify-content: flex-end;
}
.banner .texto h1 {
    font-size: 30px;
    font-weight: bold;
    color: #05589B;
    text-transform: uppercase;
    background: rgba(225, 225, 225, 0.5);
    margin: 0 0 1px;
    padding: 3px 5px;
    display: table;
}

.sobre {
    padding: 90px 0 140px;
}
.sobre .titulo-geral {
    text-align: left;
}
.sobre .titulo-geral:after {
    margin: 10px 0 0;
}
.sobre p {
    font-size: 20px;
    color: #333;
    margin: 0 0 15px;
}

.blog img.w-100 {
    height: 187px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 10px;
}
.blog span.data {
    font-size: 11px;
    color: #828282;
    display: table;
    margin-bottom: 10px;
}
.blog .categoria {
    font-size: 12px;
    color: #fff;
    display: table;
    background: #05589B;
    padding: 5px 10px;
    border-radius: 10px;
}
.blog h4 {
    font-size: 20px;
    font-weight: bold;
    color: #05589B;
    margin: 10px 0 5px;
}
.blog p {
    font-size: 16px;
    color: #333;
    margin: 0;
}
.blog a.btn-geral {
    margin: 30px auto 0;
}
.interna.blog-interna.blog .attachment-gallery img {
    max-width: 100%;
    height: auto;
}

.contato {
    padding: 100px 0;
}
.contato h2 {
    font-size: 40px;
    font-weight: bold;
    color: #05589B;
    margin: 0;
}
.contato p {
    font-size: 18px;
    color: #333;
    margin: 15px 0;
}
.contato input.form-control {
    border: none;
    border-bottom: 1px solid #BDBDBD;
    border-radius: 0;
    height: 45px;
    margin-bottom: 25px;
}
.contato textarea.form-control {
    border: none;
    border-bottom: 1px solid #BDBDBD;
    border-radius: 0;
    height: 120px;
    margin-bottom: 25px;
}
.contato button {
    border: none;
}
.contatos {
    margin-top: 35px;
}
.contatos a {
    font-size: 16px;
    color: #333;
    margin-left: 10px;
}

footer {
    background: #05589B;
    padding-top: 30px;
}
footer .row {
    align-items: center;
}
footer a {
    font-size: 18px;
    color: #fff;
}
footer a img {
    margin-left: 5px;
}
.rodape {
    background: #004277;
    padding: 10px 0;
    margin-top: 30px;
    text-align: center;
}
.rodape span {
    font-size: 12px;
    color: #fff;
}

.interna {
    padding-bottom: 65px;
}

.titulo-interno {
    font-size: 60px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    height: 245px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../images/vitrine-interna.png) no-repeat;
    background-size: cover;
    margin: 0 0 70px;
}

aside ul {
    margin: 0;
    padding: 30px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
}
aside ul li {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
aside ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
aside ul a {
    font-size: 18px;
    color: #333;
    border-left: 3px solid #00AD12;
    padding-left: 5px;
}
aside ul a:hover,
aside ul a.active{
    font-weight: bold;
    color: #05589B;
}
aside ul li ul {
    box-shadow: none;
    padding: 10px 0px 0 30px;
}

.titulo-geral {
    text-align: left;
}
.titulo-geral:after {
    margin: 10px 0 0;
}
.interna p {
    font-size: 16px;
    color: #333;
    margin-bottom: 15px;
}
.interna h2 {
    font-size: 26px;
    font-weight: bold;
    color: #05589B;
    margin: 20px 0 10px;
}
.interna h3 {
    font-size: 24px;
    font-weight: bold;
    color: #05589B;
}
.interna a {
    color: #05589B;
}
.interna .card {
    padding: 15px;
    text-align: center;
    min-height: 220px;
    margin-bottom: 30px;
    align-items: center;
    justify-content: center;
}

.listagem-blog-item {
    margin-bottom: 30px;
}
.listagem-blog-item a {
    display: flex;
}
.listagem-blog-item img.w-100 {
    width: 50% !important;
    height: 255px !important;
    object-fit: cover;
    margin-right: 30px;
    border-radius: 10px;
}
.listagem-blog-item a>div {
    width: 46%;
}

.blog-interna.blog nav .flex.justify-between.flex-1.sm\:hidden,
.blog-interna.blog nav div>p.text-sm.text-gray-700.leading-5 {
    display: none;
}
.blog-interna.blog nav span {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px 0;
}
.blog-interna.blog nav span a svg {
    width: 22px;
}
.blog-interna.blog nav span a {
    padding: 0 !important;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.blog-interna.blog nav span span {
    padding: 0 !important;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #05589B !important;
    color: #fff;
}

.mais-lidas li {
    font-size: 30px;
    color: #05589B;
    border-top: 1px solid #e0e0e0;
    padding-top: 15px;
    margin-top: 15px;
    display: flex;
}
.mais-lidas li>div {
    font-size: 30px;
    font-weight: bold;
    color: #05589B;
}
.mais-lidas li>a {
    margin-left: 10px;
}
.mais-lidas li h4 {
    font-size: 18px;
    font-weight: bold;
    color: #4f4f4f;
    margin: 10px 0 0;
}
.mais-lidas li span {
    font-size: 14px;
    color: #4f4f4f;
}

.blog-interna img.w-100 {
    height: auto;
}

.blog-interna img.w-100.img-noticia-interna {
    height: 550px;
    object-fit: contain;
    object-position: center;
}

.interna.blog-interna {
    padding-bottom: 0;
}
.comente {
    margin-top: 30px;
    padding: 50px 0;
    background: #F2F2F2;
    background: linear-gradient(180deg, rgba(242,242,242,.5), rgba(242,242,242,0));
}
.comente input.form-control {
    background: transparent;
    border: none;
    border-bottom: 1px solid #BDBDBD;
    border-radius: 0;
    height: 45px;
    margin-bottom: 25px;
}
.comente textarea.form-control {
    background: transparent;
    border: none;
    border-bottom: 1px solid #BDBDBD;
    border-radius: 0;
    height: 120px;
    margin-bottom: 25px;
}
.comente button {
    border: none;
}

section.blog.noticias-relacionadas {
    padding: 30px 0 60px;
}
section.blog.noticias-relacionadas h1 {
    text-align: center;
}
section.blog.noticias-relacionadas .titulo-geral:after {
    margin: 10px auto 0;
}

.videos-interna iframe {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 0px;
}
.videos-interna h4 {
    margin: 0 0 30px;
}

.transporte-numeros .box-transporte {
    border: 1px solid #bdbdbd;
    border-radius: 15px;
    margin-bottom: 30px;
}
.transporte-numeros .box-transporte img {
    width: 100%;
    border-radius: 15px 15px 0 0;
}
.transporte-numeros .box-transporte-conteudo {
    padding: 20px 70px 30px;
}


/* --- MOBILE --- */
@media (max-width: 767px) {
    a.navbar-brand {
        width: 60%;
    }
    a.navbar-brand img {
        width: 100%;
    }
    div#navbarSupportedContent {
        position: absolute;
        top: 80px;
        z-index: 99;
        background: #fff;
        width: 100%;
        left: 0;
        padding: 30px 15px;
        text-align: center;
    }
    ul.navbar-nav li {
        margin-bottom: 15px;
    }
    .banner {
        height: auto;
        min-height: auto;
    }
    .video-header {
        height: auto;
    }
    .banner .conteudo {
        height: auto;
        align-items: flex-end;
        padding-bottom: 15px;
    }
    .arrow-down-vitrine {
        display:none;
    }
    .banner .texto h1 {
        font-size: 20px;
    }
    .sobre {
        padding: 50px 0 70px;
    }
    .sobre img.w-100 {
        margin-top: 30px;
    }
    .blog img.w-100 {
        height: 120px;
    }
    .blog h4 {
        font-size: 18px;
    }
    .blog p {
        margin: 0 0 30px;
    }
    .contato {
        padding: 60px 0;
    }
    .contato .row {
        flex-direction: column-reverse;
    }
    .contato h2 {
        font-size: 30px;
    }
    .contatos a {
        margin-left: 0;
        display: table;
        margin-bottom: 20px;
    }
    footer {
        text-align: center;
    }
    .endereco {
        display: table;
        margin-top: 20px;
    }
    .rodape {
        padding: 10px 15px 20px;
    }
    .titulo-interno {
        font-size: 35px;
        height: 100px;
        margin: 0 0 30px;
    }
    aside {
        margin-bottom: 30px;
    }
    aside ul {
        padding: 15px;
    }
    aside ul li {
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
    aside ul a {
        font-size: 16px;
    }
    .blog-interna img.w-100.img-noticia-interna {
        height: 250px;
    }
    .listagem-blog-item a {
        display: table;
    }
    .listagem-blog-item img.w-100 {
        width: 100% !important;
        height: 220px !important;
        margin-right: 0;
    }
    .listagem-blog-item a>div {
        width: 100%;
    }
    .transporte-numeros .box-transporte-conteudo {
        padding: 0px 15px 10px;
    }
}