/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus { outline: none; }
.slides,
.flex-control-nav,
.flex-direction-nav { margin: 0; padding: 0; list-style: none; font-weight: normal; }

/* FlexSlider Necessary Styles */
.flexslider { margin: 0; padding: 0; width: 100vw; height: 90vh; position: relative; zoom: 1; }
.flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; position: relative; width: 100%; height: 90vh; }
.flexslider .slides img { width: 100%; height: 100%; display: block; object-fit: cover; }
.flex-pauseplay span { text-transform: capitalize; }

/* Clearfix para o elemento .slides */
.slides:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .slides { display: block; }
* html .slides { height: 1%; }

/* No JavaScript Fallback */
.no-js .slides > li:first-child { display: block; }

/* FlexSlider Default Theme */
.flex-viewport { max-height: 90vh; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading .flex-viewport { max-height: 300px; }
.flexslider .slides { zoom: 1; height: 100%; }
.carousel li { margin-right: 5px; }

/* Direction Nav */
.flex-direction-nav { *height: 0; }
.flex-direction-nav a {
    color: #ffffff;
    position: absolute;
    top: 50%;
    cursor: pointer;
    font-size: 18px;
    transform: translateY(-50%);
    border: 3px solid #ffffff;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    text-align: center;
    line-height: 40px;
    opacity: 0.5;
    z-index: 50;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
}
.flex-direction-nav a:hover { opacity: 0.5; }
.flex-direction-nav .flex-prev { left: 50px; }
.flex-direction-nav .flex-next { right: 50px; }
.flex-direction-nav .flex-prev:before {
    content: "<";
    display: block;
    font-size: 20px;
    line-height: 40px;
    color: #ffffff;
}
.flex-direction-nav .flex-next:before {
    content: ">";
    display: block;
    font-size: 20px;
    line-height: 40px;
    color: #ffffff;
}

/* Control Nav */
.flex-control-nav { width: 100%; position: absolute; bottom: 40px; text-align: center; opacity: 1; z-index: 50; }
.flex-control-nav li { margin: 0 3px; display: inline-block; zoom: 1; *display: inline; }
.flex-control-paging li a {
    width: 8px;
    height: 8px;
    display: block;
    background: #ffffff;
    cursor: pointer;
    text-indent: -9999px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    opacity: 0.5;
}
.flex-control-paging li a:hover { background: #ffffff; opacity: 1; }
.flex-control-paging li a.flex-active { position: relative; cursor: default; border: none; background: #ffffff; opacity: 1; }

.flex-control-thumbs { margin: 5px 0 0; position: static; overflow: hidden; }
.flex-control-thumbs li { width: 25%; float: left; margin: 0; }
.flex-control-thumbs img { width: 100%; display: block; opacity: 0.7; cursor: pointer; }
.flex-control-thumbs img:hover { opacity: 1; }
.flex-control-thumbs .flex-active { opacity: 1; cursor: default; }

/* Estilos do Hero e Flexslider */
section.hero {
    background: #353031;
    padding: 0;
    position: relative;
    overflow: hidden;
    width: 100vw;
    height: 90vh;
}

.background-img {
    width: 100%;
    height: 100%;
    background-attachment: scroll;
    background-clip: border-box;
    background-color: #353031;
    background-origin: padding-box;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.background-img img {
    display: none;
}

.overlay:before {
    /* Removido o gradiente para evitar escurecimento */
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 3;
}

.zoom {
    animation: zoom 15s ease 0s normal both infinite;
}

@keyframes zoom {
    0% { transform: scale(1, 1); }
    50% { transform: scale(1.1, 1.1); }
    100% { transform: scale(1, 1); }
}

.inner-hero {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-content {
    text-align: center;
}

.hero-content .logo {
    max-width: 400px;
    width: auto;
    height: auto;
}

/* Media Queries para responsividade */
@media screen and (max-width: 860px) {
    .flex-direction-nav .flex-prev { opacity: 0.5; left: 10px; }
    .flex-direction-nav .flex-next { opacity: 0.5; right: 10px; }
}

@media screen and (max-width: 767px) {
    .flex-direction-nav { display: none; } /* Esconde botões em mobile */
    .hero-content .logo { max-width: 300px; }
}

@media screen and (max-width: 479px) {
    .hero-content .logo { max-width: 200px; }
}