/* font */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,600;1,700;1,800;1,900&display=swap');
/* variable */
:root {     
    --base-color: #979579;  
    --dark-gray: #003B3C;
    --medium-gray:#5A5E65;
    --very-light-gray: #f6f3ef;
    --alt-font: 'Playfair Display', serif;
    --primary-font: 'DM Sans', sans-serif;
}  

body {
    font-size: 17px;
    line-height: 32px;
}

/* header */
header .navbar-brand img {
    max-height:90px;
}

.medium-screen{
	height:75vh;	
}

.text-base-light{
	color:#C0BFAD;
}

.navbar .navbar-nav .nav-item:hover .nav-link, .navbar .navbar-nav .nav-item.active .nav-link {
  opacity: 1;
  color:var(--base-color);
}

header.sticky.sticky-active .header-reverse.header-dark.glass-effect{
	background-color:rgba(0, 59, 60, 0.95)!important;
}

header .left-nav .navbar-nav:before {
    background-color: var(--white);
    opacity: 0.2; 
    transform: translate(-28px, 0px);
    -webkit-transform: translate(-28px, 0px);
    transition: 0s;
}
header.sticky .left-nav .navbar-nav:before {
    transform: translate(-28px, 0px);
    -webkit-transform: translate(-28px, 0px);
}
.navbar .navbar-nav .nav-link { 
    font-size: 18px;
    font-weight: 400; 
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    border-bottom: 1px solid #f6f3ef;
    padding: 16px 20px;
    font-weight: 500;
    font-size: 16px;
    color: var(--dark-gray);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:hover img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(502%) contrast(502%);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active:hover > a{
    background-color: var(--base-color);
    color: var(--white);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active > a {
    color: var(--medium-gray);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 330px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
    color: var(--dark-gray);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
    line-height: 22px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a img {
    width: 65px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li.active > a,
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a:hover {
    color: var(--medium-gray);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a img {
    width: 40px;
    margin-right: 10px;
}
/* pagination */
.pagination-style-01 .page-item.active .page-link,
.pagination-style-01 .page-item .page-link:hover {
    background: var(--dark-gray);
    color: var(--white)!important;
}

.pagination-style-01 .page-item:first-child .page-link:hover,
.pagination-style-01 .page-item:last-child .page-link:hover {
    color: var(--dark-gray);
}
/* input */
.input-small, .textarea-small {
    font-size: 14px;
}
/* bg color */
.bg-blue-whale {
    background-color: #003B3C;
}
.bg-blue-licorice {
    background-color:#979579;
}
/* bg gradient transparent */
.bg-gradient-dark-transparent {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #0a171e), to(transparent));
    background: linear-gradient(to top, #0a171e 7%, transparent 70%);
}
/* btn */
.btn.btn-blue-whale {
    background-color:#003B3C; 
    color: var(--white);
}
.btn.btn-blue-whale:hover {
    background-color: transparent;
    border-color: #003B3C;
    color: #003B3C;
}
.btn {
    font-family: var(--primary-font);
    font-weight:500;
    text-transform: inherit;
    letter-spacing: 0px;
}
.btn.btn-link {
    padding: 0 0 2px; 
}
.btn.btn-rounded.btn-extra-large {
    padding: 18px 66px 18px 40px;
    font-size: 17px;
}
.btn.btn-rounded.btn-large {
    padding: 16px 55px 16px 38px;
    font-size: 16px;
}
.btn.btn-large {
    font-size: 15px;
}
/* number pagination style 01 */
.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet {
    font-size: 14px;
}
.process-step-style-02:hover .process-step-icon .number {
    color: var(--white);
}
/* page title */
.page-title-large h1 {
    font-size: 4rem;
    line-height: 3.9rem;
}
/* process step style 03 */
.process-step-style-03:hover .process-step-icon-box .progress-image {
    -webkit-transform: scale(1.3); 
    transform: scale(1.3);
}
/* social icon style 02 */
.social-icon-style-02 .small-icon li {
    margin: 0;
}
/* opacity */
.opacity-05 {
    opacity: 0.05;
}
/* top right bottom left */
.top-minus-35px {
    top: -35px;
}
.left-minus-35px {
    left: -35px;
}
.bottom-minus-35px {
    bottom: -35px;
}
/* footer */
footer .footer-logo img {
    max-height:80px;
}
.footer-dark {
    color: #768086;
}
.footer-dark p, .footer-dark a {
    color: #768086;
}
.copy{
		line-height:20px;
}

.pointer{
	cursor:pointer;
}

h3{
	cursor:default;
}

.is-touchable .cursor-page-inner {
    display: none !important;
}
/* media query responsive */
@media (max-width: 1400px) {
    .xl-min-h-270px {
        min-height: 270px !important;
    }
}
@media (max-width: 1300px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 1199px) {
    header .left-nav .navbar-nav:before {
        transform: translate(-10px, 0px);
        -webkit-transform: translate(-10px, 0px);
    }
    header.sticky .left-nav .navbar-nav:before {
        transform: translate(-10px, 0px);
        -webkit-transform: translate(-10px, 0px);
    }
    .elements-social .large-icon li {
        margin: 0 5px;
    }
    footer .nav-link {
        padding-left: .6rem;
        padding-right: .6rem;
    }
    .navbar .navbar-nav .nav-link {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 1024px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 8px;
        padding-right: 8px;
    }
}
@media (max-width: 991px) {
    header .widget-text {
        color: var(--dark-gray);
    }
    header .widget-text i {
        color: var(--white);
    }
    .md-bottom-minus-15px {
        bottom: -15px;
    }
    .elements-social.social-icon-style-04 .large-icon a {
        font-size: 21px;
        width: 50px;
        height: 50px;
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
        padding-left: 0;
        padding-right: 0;
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover,
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:hover img{
        background-color: transparent;
        color: var(--dark-gray);
        filter: inherit;
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover,
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active:hover > a {
        background-color: transparent;
        color: var(--medium-gray);        
    }
}
@media (max-width: 767px) {
    .sm-top-minus-25px {
        top: -25px;
    }
    .process-step-style-02 .progress-step-separator,
    .process-step-style-03 .progress-step-separator,
    .process-step-style-04 .progress-step-separator {
        display: block;
    }
}
@media (max-width: 575px) {
    .process-step-style-02 .progress-step-separator,
    .process-step-style-03 .progress-step-separator,
    .process-step-style-04 .progress-step-separator {
        display: none;
    }
}


.box-hv {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
	cursor:pointer;
}

.box-hv:hover {
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}

.img-white{
	filter: brightness(0) invert(1);
}

/* Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:focus {
    transition: background-color 600000s 0s, color 600000s 0s;
}
input[data-autocompleted] {
    background-color: transparent !important;
}


.alert-success {
    background-color:#41CC4F;
    color: #FFF;
    border-color: #41CC4F;
    padding: 10px 20px 10px 20px;
}

.alert-success {
    background-color:#41CC4F;
    color: #FFF;
    border-color: #41CC4F;
    padding: 10px 20px 10px 20px;
}


.alert.alert-info {
  background-color:#3F96FD;
  color: #FFF;
  border-color:#3F96FD;
}
.alert.alert-warning {
  background-color:#FFBF00;
  color: #FFF;
  border-color: ##FFBF00;
}
.alert.alert-danger {
  background-color:#F95959;
  color: #FFF;
  border-color: ##F95959;
}

/* WhatsApp Button */

/* WhatsApp Button */

.fixed-contact-button {
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 999;
}

.fixed-contact-button a {
    display: flex;
    width: 64px;
    height: 64px;
    text-align: center;
    border-radius: 100%;
    font-size: 36px;
    background: linear-gradient(to right, #24ca68, #00b49f);
    color: #fff !important;
    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.4);
}

.fixed-contact-button a i {
    margin: auto;
}

/* Só exibe o texto e a seta quando o mouse está sobre o botão */
.fixed-contact-button a:hover:before,
.fixed-contact-button a:hover:after {
    display: inline-block;
}

.fixed-contact-button a:before {
    content: "Fale conosco";
    display: none; /* Inicialmente oculto */
    position: absolute;
    width: 130px;
    line-height: normal;
    top: 14px;
    left: -150px;
    padding: 8px 14px;
    border: solid 1px #00b49f;
    border-radius: 20px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    background-color: #fff;
    color: #666;
    white-space: nowrap;
    box-shadow: 0 5px 15px -10px rgba(0, 0, 0, 0.4);
    animation: fixed-contact-button 2s infinite;
    animation-timing-function: ease;
    z-index: 1000;
}

.fixed-contact-button a:after {
    content: "";
    display: none; /* Inicialmente oculto */
    position: absolute;
    line-height: normal;
    top: 23px;
    left: -25px;
    padding: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent #00b49f;
    font-size: initial;
    animation: fixed-contact-button 2s infinite;
    animation-timing-function: ease;
    z-index: 999;
}

.fixed-contact-button .fa {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
    font-weight: normal;
}

.fixed-contact-button.no-label a:before,
.fixed-contact-button.no-label a:after {
    display: none;
}

.rotate-box p {
    color: #fff;
    font-weight: bold;
}


/* Video container to make it responsive */
.video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1; /* Vídeo estará atrás do caption */
}

.video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    object-fit: cover; /* Ensures video covers the container area */
}

.swiper-slide {
  overflow: hidden;
}

/* Caption styling to be above the video */
.caption {
    position: relative;
    z-index: 2; /* Garantindo que o texto e o botão fiquem acima do vídeo */
}

/* Inicialmente, o vídeo terá opacidade 0 */
.video-container video {
    opacity: 0;
    transition: opacity 1s ease-in-out; /* Animação suave de fade-in */
}

/* Quando o slide estiver visível, aplicamos a opacidade 1 */
.swiper-slide-active .video-container video {
    opacity: 1;
}

/* Responsiveness */
@media (max-width: 768px) {
    .swiper {
        height: auto; /* Allow swiper to adjust height on mobile */
    }

    .video-container video {
        object-position: center center; /* Ensure video stays centered on mobile */
    }
}

@media (min-aspect-ratio: 16/9) {
  video {
    margin-left: 0;
  }
}


@keyframes fixed-contact-button {
    0% {
        margin-left: -20px;
    }
    5% {
        margin-left: -20px;
    }
    10% {
        margin-left: 0;
    }
    15% {
        margin-left: -5px;
    }
    20% {
        margin-left: 0;
    }
    90% {
        margin-left: 0;
        opacity: 1;
    }
    100% {
        margin-left: -20px;
        opacity: 0;
    }
}

