/*==================================================
FLUTUANTE TOUR
STYLE.CSS
Versão 2.0
==================================================*/


/*==================================================
RESET
==================================================*/

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    font-size:16px;
    color:#495057;
    background:#FFF;
    line-height:1.7;
    overflow-x:hidden;

}

img{

    display:block;
    max-width:100%;
    height:auto;

}

a{

    color:inherit;
    text-decoration:none;
    transition:.35s;

}

ul{

    list-style:none;
    margin:0;
    padding:0;

}

button{

    border:none;
    background:none;
    cursor:pointer;

}

input,
textarea,
select{

    outline:none;

}



/*==================================================
VARIÁVEIS
==================================================*/

:root{

    --primary:#0F5DAA;

    --primary-dark:#083B70;

    --secondary:#25D366;

    --dark:#162236;

    --text:#5D6676;

    --light:#F5F8FC;

    --white:#FFFFFF;

    --radius:20px;

    --shadow:0 18px 40px rgba(0,0,0,.08);

}



/*==================================================
BOOTSTRAP
==================================================*/

.container{

    max-width:1280px;

    width:100%;

    padding-left:15px;

    padding-right:15px;

}

.row{

    --bs-gutter-x:1.8rem;

}



/*==================================================
GERAL
==================================================*/

section{

    padding:90px 0;

}

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title span{

    display:inline-block;

    color:var(--primary);

    text-transform:uppercase;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:15px;

}

.section-title h2{

    color:var(--dark);

    font-size:50px;

    font-weight:700;

    margin-bottom:18px;

}

.section-title p{

    max-width:700px;

    margin:auto;

    font-size:18px;

    color:#667085;

}



/*==================================================
HEADER
==================================================*/

#topo{

    position:fixed;

    left:0;

    top:50;

    width:100%;

    z-index:99;

    transition:.35s;

    padding:8px 0;

  
	   background:rgba(255,255,255,.12);

    backdrop-filter:blur(6px);

    -webkit-backdrop-filter:blur(6px);
	
  
}

#topo.scroll{

    background:#FFF;

    box-shadow:0 8px 30px rgba(0,0,0,.08);

    padding:12px 0;

}

.navbar{

    padding:0;

    align-items:center;

}

.navbar-brand{

    padding:0;

    margin:0;

}

#logo{

    height:72px;

    width:auto;

    transition:.35s;
	z-index: 99999;

}


.navbar-nav .nav-link{

    color:#FFF;
    font-weight:600;
    letter-spacing:.3px;

    text-shadow:
        0 2px 6px rgba(0,0,0,.75);

    transition:.3s;

}

.navbar-nav .nav-link:hover{

    color:#7FC7FF;

}
 

.navbar-nav{

    margin-top:18px;

}

 


.navbar-nav .nav-link{

    color:#FFF;
    font-weight:600;
    letter-spacing:.3px;

    text-shadow:
        0 2px 6px rgba(0,0,0,.75);

    transition:.3s;

}

#topo.scroll .nav-link{

    color:#1F2937;

}

.navbar-nav .nav-link:hover{

    color:#7FC7FF;

}



 

.navbar-toggler{

    border:none;

    color:#FFF;

    font-size:30px;

}

#topo.scroll .navbar-toggler{

    color:#1F2937;

}



/*==================================================
BOTÕES
==================================================*/

.btn-reservar{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:58px;

    padding:0 38px;

    border-radius:50px;

    background:var(--primary);

    color:#FFF;

    font-weight:600;

    transition:.35s;
	   margin-top:18px;



}

.btn-reservar:hover{

    background:var(--primary-dark);

    color:#FFF;

    transform:translateY(-3px);

}

.btn-whatsapp{

    background:var(--secondary);

}

.btn-whatsapp:hover{

    background:#1FAF54;

}



/*==================================================
HOME HERO
==================================================*/

.hero{

    position:relative;

    width:100%;

    height:100vh;

    min-height:760px;

    overflow:hidden;

    display:flex;

    align-items:center;

}

.hero-bg{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    z-index:0;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.72),
        rgba(0,0,0,.40),
        rgba(0,0,0,.10)
    );

    z-index:1;

}

.hero .container{

    position:relative;

    z-index:2;

}

.hero-content{

    max-width:720px;

    color:#FFF;

    margin-top:80px;

}

.hero-tag{

    display:inline-flex;

    align-items:center;

    padding:12px 22px;

    border-radius:40px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(8px);

    margin-bottom:28px;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

}

.hero-content h1{

    font-size:70px;

    line-height:1.08;

    font-weight:800;

    margin-bottom:30px;

}

.hero-content p{

    font-size:22px;

    margin-bottom:45px;

    color:#FFF;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

/*==================================================
BANNER DAS PÁGINAS INTERNAS
==================================================*/

.page-hero{

    position:relative;

    width:100%;

    height:420px;

    overflow:hidden;

}

.page-hero img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}

.page-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    z-index:1;

}

.page-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-direction:column;

    text-align:center;

    color:#FFF;

}

.page-content h1{

    font-size:58px;

    font-weight:700;

    margin-bottom:15px;

}

.page-content p{

    font-size:20px;

    max-width:700px;

}



/*==================================================
PASSEIOS HOME
==================================================*/

.home-tours{

    background:#FFF;

}

.tour-card{

    background:#FFF;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

}

.tour-card:hover{

    transform:translateY(-10px);

}

.tour-image{

    position:relative;

    overflow:hidden;

}

.tour-image img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.5s;

}

.tour-card:hover img{

    transform:scale(1.08);

}

.tour-price{

    position:absolute;

    left:20px;

    bottom:20px;

    background:#FFF;

    padding:15px 18px;

    border-radius:15px;

    box-shadow:0 12px 30px rgba(0,0,0,.15);

}

.tour-price small{

    display:block;

    color:#777;

    font-size:12px;

}

.tour-price strong{

    display:block;

    color:var(--primary);

    font-size:30px;

    margin-top:3px;

}

.tour-body{

    padding:30px;

}

.tour-body h3{

    color:var(--dark);

    font-size:28px;

    margin-bottom:15px;

    font-weight:700;

}

.tour-body p{

    color:var(--text);

    margin-bottom:25px;

}

.tour-body .btn-reservar{

    width:100%;

}



/*==================================================
ICONES DOS PASSEIOS
==================================================*/

.tour-info{

    display:flex;

    gap:25px;

    margin-bottom:25px;

}

.tour-info div{

    display:flex;

    align-items:center;

    font-size:15px;

    color:#667085;

}

.tour-info i{

    color:var(--primary);

    margin-right:8px;

}



/*==================================================
GALERIA
==================================================*/
/*==================================
GALERIA
==================================*/

.gallery{

    padding:100px 0;
    background:#fff;

}

.gallery-scroll{

    display:flex;

    gap:20px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;

    scroll-behavior:smooth;

    padding:0 25px 18px 25px;

}

.gallery-scroll::-webkit-scrollbar{

    height:8px;

}

.gallery-scroll::-webkit-scrollbar-thumb{

    background:#0F5DAA;

    border-radius:20px;

}

.gallery-scroll img{

    flex:0 0 380px;

    width:380px;

    height:260px;

    object-fit:cover;

    border-radius:18px;

    scroll-snap-align:start;

    transition:.35s;

    box-shadow:0 12px 25px rgba(0,0,0,.12);

}

.gallery-scroll img:hover{

    transform:scale(1.03);

}



/*==================================================
SOBRE
==================================================*/

.about{

    background:#FFF;

}

.about-img img{

    border-radius:24px;

    box-shadow:var(--shadow);

}

.about-content{

    padding-left:40px;

}

.about-content span{

    display:inline-block;

    color:var(--primary);

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:13px;

    margin-bottom:18px;

}

.about-content h2{

    color:var(--dark);

    font-size:48px;

    margin-bottom:25px;

}

.about-content p{

    color:var(--text);

    margin-bottom:22px;

    font-size:18px;

}

.about-list{

    margin-top:30px;

}

.about-list li{

    display:flex;

    align-items:center;

    margin-bottom:18px;

    color:#555;

}

.about-list i{

    width:42px;

    height:42px;

    background:#EEF5FD;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--primary);

    margin-right:15px;

}



/*==================================================
EMPRESA
==================================================*/

.empresa{

    background:#FFF;

}

.empresa img{

    width:100%;

    border-radius:24px;

    box-shadow:var(--shadow);

    margin-bottom:50px;

}

.empresa h2{

    text-align:center;

    color:var(--dark);

    font-size:46px;

    margin-bottom:35px;

}

.empresa p{

    color:var(--text);

    font-size:18px;

    line-height:1.9;

    margin-bottom:25px;

}



/*==================================================
NÚMEROS
==================================================*/

.numbers{

    background:var(--primary);

    color:#FFF;

}

.numbers .item{

    text-align:center;

    padding:30px;

}

.numbers h2{

    font-size:60px;

    font-weight:800;

    margin-bottom:8px;

}

.numbers p{

    opacity:.9;

    font-size:18px;

}



/*==================================================
CTA
==================================================*/

.cta{

    background:linear-gradient(135deg,var(--primary),var(--primary-dark));

    text-align:center;

    color:#FFF;

}

.cta h2{

    font-size:52px;

    margin-bottom:20px;

}

.cta p{

    max-width:720px;

    margin:0 auto 35px;

    font-size:20px;

}

.cta .btn-reservar{

    background:#FFF;

    color:var(--primary);

}

.cta .btn-reservar:hover{

    background:#F3F4F6;

}


/*==================================================
PÁGINA DOS PASSEIOS
==================================================*/

.tour-page{

    padding:100px 0;

}

.tour-gallery{

    margin-bottom:60px;

}

.tour-main{

    border-radius:25px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.tour-main img{

    width:100%;

    height:620px;

    object-fit:cover;

}

.tour-thumbs{

    display:flex;

    gap:15px;

    justify-content:center;

    margin-top:20px;

}

.tour-thumbs img{

    width:130px;

    height:90px;

    object-fit:cover;

    border-radius:15px;

    cursor:pointer;

    transition:.35s;

}

.tour-thumbs img:hover{

    transform:translateY(-5px);

}

.tour-description{

    margin-top:60px;

}

.tour-description h2{

    color:var(--dark);

    font-size:46px;

    margin-bottom:25px;

}

.tour-description p{

    color:var(--text);

    margin-bottom:20px;

    font-size:18px;

}



/*==================================================
CARACTERÍSTICAS
==================================================*/

.features{

    margin:70px 0;

}

.features .item{

    background:#FFF;

    border-radius:20px;

    box-shadow:var(--shadow);

    padding:35px;

    text-align:center;

    height:100%;

}

.features i{

    font-size:42px;

    color:var(--primary);

    margin-bottom:20px;

}

.features h4{

    font-size:20px;

    margin-bottom:12px;

    color:var(--dark);

}

.features p{

    font-size:15px;

    color:#666;

}



/*==================================================
INCLUI
==================================================*/

.includes{

    background:#F8FAFC;

    padding:90px 0;

}

.includes ul li{

    margin-bottom:18px;

    font-size:18px;

}

.includes i{

    color:#28a745;

    margin-right:12px;

}



/*==================================================
NÃO INCLUI
==================================================*/

.not-includes{

    background:#FFF;

}

.not-includes ul li{

    margin-bottom:18px;

    font-size:18px;

}

.not-includes i{

    color:#dc3545;

    margin-right:12px;

}



/*==================================================
ROTEIRO
==================================================*/

.route{

    background:#F5F8FC;

}

.route-card{

    background:#FFF;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

}

.route-card:hover{

    transform:translateY(-8px);

}

.route-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.route-body{

    padding:28px;

}

.route-number{

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--primary);

    color:#FFF;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    margin-bottom:18px;

}

.route-body h4{

    font-size:22px;

    color:var(--dark);

    margin-bottom:15px;

}

.route-body p{

    color:#666;

}



/*==================================================
FAQ
==================================================*/

.faq{

    background:#FFF;

}

.accordion-item{

    border:none;

    border-radius:18px!important;

    overflow:hidden;

    margin-bottom:15px;

    box-shadow:var(--shadow);

}

.accordion-button{

    padding:24px;

    font-size:18px;

    font-weight:600;

}

.accordion-button:not(.collapsed){

    background:var(--primary);

    color:#FFF;

}

.accordion-button:focus{

    box-shadow:none;

}



/*==================================================
MAPA
==================================================*/

.map{

    padding:90px 0;

}

.map iframe{

    width:100%;

    height:500px;

    border:none;

    border-radius:25px;

    box-shadow:var(--shadow);

}



/*==================================================
FOOTER
==================================================*/

.footer{

    background:#061B33;

    color:#FFF;

    padding:90px 0 0;

}

.footer-logo{

    width:220px;

    margin-bottom:30px;

}

.footer h4{

    margin-bottom:25px;

    font-size:22px;

}

.footer p{

    color:#C7D2DE;

}

.footer ul li{

    margin-bottom:14px;

}

.footer ul li a{

    color:#C7D2DE;

}

.footer ul li a:hover{

    color:#FFF;

}

.social{

    display:flex;

    gap:15px;

}

.social a{

    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#0F5DAA;

    color:#FFF;

}

.social a:hover{

    background:#25D366;

}

.copyright{

    background:#04111F;

    margin-top:70px;

    padding:20px 0;

    color:#BFCAD5;

    text-align:center;

}



/*==================================================
ANIMAÇÕES
==================================================*/

.fade{

    opacity:0;

    transform:translateY(30px);

    transition:.8s;

}

.fade.show{

    opacity:1;

    transform:translateY(0);

}

.zoom{

    overflow:hidden;

}

.zoom img{

    transition:.5s;

}

.zoom:hover img{

    transform:scale(1.08);

}



/*==================================================
RESPONSIVO
==================================================*/

@media(max-width:991px){

.hero{

    position:relative;

    z-index:0;

    width:100%;

    height:100vh;

    min-height:760px;

    overflow:hidden;

    display:flex;

    align-items:center;

}

.hero-content h1{

    font-size:48px;

}

.page-content h1{

    font-size:42px;

}

.gallery-grid{

    grid-template-columns:1fr 1fr;

}

.about-content{

    padding-left:0;

    margin-top:40px;

}

.features .item{

    margin-bottom:30px;

}

}

@media(max-width:768px){

section{

    padding:70px 0;

}

.hero{

    min-height:600px;

}

.hero-content{

    text-align:center;

}

.hero-content h1{

    font-size:36px;

}

.hero-buttons{

    justify-content:center;

}

.page-hero{

    height:260px;

}

.page-content h1{

    font-size:32px;

}

.tour-main img{

    height:320px;

}

.tour-thumbs{

    flex-wrap:wrap;

}

.gallery-grid{

    display:block;

}

.gallery-item{

    margin-bottom:20px;

}

.footer{

    text-align:center;

}

.social{

    justify-content:center;

}

}

@media(max-width:576px){

.hero-content h1{

    font-size:30px;

}

.page-content h1{

    font-size:28px;

}

.section-title h2{

    font-size:28px;

}

.btn-reservar{

    width:100%;

}

.footer-logo{

    width:180px;

}

}


/*==================================================
MENU MOBILE
==================================================*/

@media (max-width:991px){

#topo{

      background:rgba(255,255,255,.02);

    backdrop-filter:blur(5px);
	
	

}

#topo.scroll{

    background:#FFF;

}

 

.navbar-collapse{

    background:#FFF;

    border-radius:20px;

    padding:25px;

    margin-top:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.10);

}

.navbar-nav{

    width:100%;

}

.navbar-nav .nav-item{

    width:100%;

}

.navbar-nav .nav-link{

    color:#222!important;

    padding:14px 0;

    border-bottom:1px solid #EEE;

    margin:0;

}

.navbar-nav .nav-link:last-child{

    border:none;

}

.btn-reservar{

    margin-top:20px;

    width:100%;

}

}



/*==================================================
UTILITÁRIOS
==================================================*/

.bg-white{

    background:#FFF;

}

.bg-light{

    background:#F8FAFC;

}

.text-center{

    text-align:center;

}

.text-white{

    color:#FFF;

}

.shadow{

    box-shadow:var(--shadow);

}

.radius{

    border-radius:var(--radius);

}

.mt-30{

    margin-top:30px;

}

.mt-50{

    margin-top:50px;

}

.mt-80{

    margin-top:80px;

}

.mb-30{

    margin-bottom:30px;

}

.mb-50{

    margin-bottom:50px;

}

.mb-80{

    margin-bottom:80px;

}

.pt-80{

    padding-top:80px;

}

.pb-80{

    padding-bottom:80px;

}



/*==================================================
IMAGENS
==================================================*/

.img-cover{

    width:100%;

    height:100%;

    object-fit:cover;

}

.radius img{

    border-radius:var(--radius);

}



/*==================================================
HOVER PADRÃO
==================================================*/

.scale{

    overflow:hidden;

}

.scale img{

    transition:.5s;

}

.scale:hover img{

    transform:scale(1.08);

}



/*==================================================
BOTÕES
==================================================*/

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:56px;

    padding:0 34px;

    border:2px solid #FFF;

    border-radius:50px;

    color:#FFF;

    font-weight:600;

    transition:.35s;

}

.btn-outline:hover{

    background:#FFF;

    color:var(--primary);

}



/*==================================================
FORMULÁRIOS
==================================================*/

.form-control{

    border-radius:16px;

    border:1px solid #DDD;

    min-height:56px;

    padding:15px 20px;

    box-shadow:none!important;

}

.form-control:focus{

    border-color:var(--primary);

}

textarea.form-control{

    min-height:180px;

}



/*==================================================
TABELAS
==================================================*/

.table{

    border-radius:20px;

    overflow:hidden;

}

.table thead{

    background:var(--primary);

    color:#FFF;

}



/*==================================================
PAGINAÇÃO
==================================================*/

.pagination .page-link{

    border:none;

    color:var(--primary);

    margin:0 3px;

    border-radius:12px;

}

.pagination .active .page-link{

    background:var(--primary);

}



/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EEE;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:30px;

}



/*==================================================
SELEÇÃO
==================================================*/

::selection{

    background:var(--primary);

    color:#FFF;

}



/*==================================================
ANIMAÇÕES
==================================================*/

.fade-up{

    opacity:0;

    transform:translateY(30px);

    transition:.8s;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}

.fade-left{

    opacity:0;

    transform:translateX(-40px);

    transition:.8s;

}

.fade-left.show{

    opacity:1;

    transform:translateX(0);

}

.fade-right{

    opacity:0;

    transform:translateX(40px);

    transition:.8s;

}

.fade-right.show{

    opacity:1;

    transform:translateX(0);

}



/*==================================================
LOADING
==================================================*/

.loading{

    pointer-events:none;

    opacity:.6;

}



/*==================================================
RESPONSIVO EXTRA
==================================================*/

@media(max-width:480px){

.hero{

    min-height:520px;

}

.hero-content{

    margin-top:100px;

}

.hero-content h1{

    font-size:28px;

    line-height:1.2;

}

.hero-content p{

    font-size:16px;

}

.page-content h1{

    font-size:26px;

}

.page-content p{

    font-size:15px;

}

.section-title h2{

    font-size:24px;

}

.section-title p{

    font-size:16px;

}

.tour-price strong{

    font-size:26px;

}

.tour-body{

    padding:22px;

}

.footer{

    padding-top:60px;

}

}



/*==================================================
FIM
==================================================*/