*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    max-width: 100%;
}

html,body{
	height: 100%;
}

.container{
    width: 1300px !important;
    max-width: 100% !important;
    margin: 0 auto;
    padding: 0 30px;
}

.container-wide{
    width: 1400px;
    margin: 0 auto;
    max-width: 100%;
}

.container-narrow{
    width: 900px;
    margin: 0 auto;
    padding: 0 30px;
}

.clear{
    clear: both;
}

.loading{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 200;
    opacity: 0;
    display: none;
}

.loading img{
    position: relative;
    width: 50px;
    height: 50px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}


.message{
    background-color: green;
    color: white;
    text-align: center;
    position: fixed;
    z-index: 100;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 10px;
    opacity: 0;
}

.message h4{
    font-weight: 400;
    padding: 10px 20px;
    margin: 0;
    font-size: 22px;
}


.success-message{
    background-color: #77bf7b;
    color: white;
    display: none;
}

.error-message{
    background-color: #ed695f;
    color: white;
    display: none;
}

.section-divider {
    width: 50%;
    max-width: 600px;
    height: 2px;
    background-color: #e62e98;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 20px;
}

.bold {
    font-weight: bolder;
}

.single-img-grid {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 400px !important;
}

/***     HEADER     ***/

header{
    background-color: white;
    width: 100%;
    height: 80px;
    display: flex;
    position: fixed;
    z-index: 20;
}

header .logo{
    float: left;
}

.logo img{
    margin: 0;
    padding-top: 13px;
    padding-bottom: 0px;
    height: 65px;
}

header .menu-desktop{
    float: right;
}

.menu-desktop ul{
    margin: 0;
    padding: 18px 0;
}

.menu-desktop li{
    display: inline-block;
    padding-left: 50px;
    vertical-align: middle;
}

.menu-desktop li a{
    color: #D5378B;
    font-size: 30px;
    text-decoration: none;
    font-weight: 300;
}

.menu-desktop li a:hover{
    color: #ff0088;
}

#menu-mobile-button{
    color: #D5378B;
    font-size: 40px;
    padding: 10px 0;
    float: right;
    cursor: pointer;
    display: none;
}

.menu-mobile{
    position: fixed;
    top: 80px;
    width: 100%;
    text-align: center;
    border-top: 1px solid rgb(230, 230, 230);
    border-bottom: 1px solid rgb(230, 230, 230);
    z-index: 30;
    background-color: white;
    left: 0;
    display: none;
}

.menu-mobile ul{
    list-style-type: none;
    margin: 5px 0;
    padding: 0;
}

.menu-mobile ul a{
    text-decoration: none;
    color: #D5378B;
    font-size: 30px;
    font-weight: 300;
}

.menu-mobile ul a:hover{
    color: #ff0088;
}

.menu-mobile li{
    padding: 7px 0;
}

.menu-mobile hr{
    max-width: 150px;
    margin: 0 auto;
    color: #D5378B;
}


/***     MAIN BANNER     ***/

#main-banner{
    top: 80px;
    position: relative;
    background-color: #eeeeee;
    margin-bottom: 80px;
    width: 100%;
    height: 500px;
}

#main-banner .carousel{
    left: 50%;
    transform: translateX(-50%);
}

#main-banner img{
    display: block;
    min-width: 100%;
    height: 500px !important;
    width: auto;
    height: auto;
    object-fit: cover;
    filter: brightness(80%);
}

#main-banner .carousel-caption{
    text-align: left !important;
    top: 50%;
    transform: translateY(-50%);
}

#main-banner h1, #main-banner h3{
    filter: drop-shadow(5px 5px 30px #000000);
}

#main-banner h1{
    font-size: 45px;
}

#main-banner h3{
    font-weight: 300;
}

.btn-viagem-short{
    display: none;
}

.botao-viagem{
    color: white;
    background-color: #ED7481;
    padding: 6px 20px 6px 20px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 25px;
    cursor: pointer;
}

.botao-viagem:hover{
    color: white;
    background-color: #ed5f6e;
}

#main-banner .btn-banner{
    margin-top: 50px;
}


/***     PRÓXIMAS VIAGENS     ***/

#proximas-viagens{
    background-color: rgb(252,252,252);
    width: 100%;
    padding: 70px 0;
}

#proximas-viagens h2{
    text-align: center;
    font-size: 35px;
    color: #F56DB2;
    font-weight: 400;
}

#proximas-viagens .viagens-box{
    margin-top: 30px;
    text-align: center;
}

#proximas-viagens .viagem-box{
    width: calc(33.33% - 75px);
    display: inline-block;
    margin: 25px 25px;
    vertical-align: top;
    border-radius: 10px;
}

#proximas-viagens .viagem-box img{
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    min-width: 100%;
    width: auto;
    height: 220px !important;
    object-fit: cover;
}

#proximas-viagens .card-body{
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
}

#proximas-viagens .card-body h5{
    color: #ED7481;
    font-size: 25px;
}

#proximas-viagens .divisao-linha{
    position: relative;
    width: 30%;
    height: 2px;
    background-color: #ED7481;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 13px;
}

#proximas-viagens .info-viagem-card{
    margin: 12px 0;
}

#proximas-viagens .info-viagem-card p{
    margin: 0;
    font-size: 19px;
    padding: 2px 0;
}

.botao-mais-informacoes{
    color: white;
    background-color: #ED7481;
    padding: 5px 17px 5px 17px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 20px;
    cursor: pointer;
    margin-bottom: 8px;
}

.botao-mais-informacoes:hover{
    color: white;
    background-color: #ed5f6e;
}

.botao-mais-viagens{
    position: relative;
    color: white;
    background-color: #F56DB2;
    padding: 5px 17px 4px 17px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 20px;
    cursor: pointer;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 30px;
}

.botao-mais-viagens:hover{
    color: white;
    background-color: #eb58a2;
}


/***     SOBRE     ***/

#sobre{
    width: 100%;
    background-color: #ec8dc4;
    text-align: center;
    color: white;
    padding: 70px 0 80px 0;
}

#sobre h2{
    font-size: 35px;
    font-weight: 400;
}

#sobre p{
    font-size: 21px;
    margin: 30px 60px 50px 60px;
}

#sobre img{
    width: 80%;
}


/**     MISSÃO E OBJETIVOS      **/

#objetivo-missao{
    padding: 70px 0;
    background-color: #ffeff8;
}

#objetivo-missao h2{
    font-size: 35px;
    font-weight: 400;
    margin-bottom: 15px;
    color: #ed5f6e;
}

#objetivo-missao p{
    margin-top: 25px;
    font-size: 21px;
    font-weight: 300;
}

#objetivo-missao .w50{
    width: 50%;
    display: inline-block;
    margin: -2px;
}

#missao,
#objetivo{
    vertical-align: top;
    text-align: center;
    padding: 0 20px;
}

#missao{
    border-right: 2px solid #f8dcec;
    padding-right: 50px;
}

#objetivo{
    padding-left: 50px;
}

#objetivo ul{
    margin-top: 25px;
    padding-left: 0;
    text-align: center;
}

#objetivo ul li{
    list-style-type: none;
    font-size: 23px;
    margin-bottom: 20px;
    text-align: left;
    font-weight: 300;
}

#objetivo li i{
    font-size: 16px;
    margin-right: 10px;
    color: #616161;
}


/***     NOSSOS TRANSPORTES     ***/

#nossos-transportes{
    width: 100%;
    background-color: rgb(252,252,252);
    text-align: center;
    color: #F56DB2;
    padding: 70px 0;
}

#nossos-transportes h2{
    font-size: 35px;
    font-weight: 400;
    margin-bottom: 15px;
}

#nossos-transportes .transportes{
    width: 100%;
}

#nossos-transportes .transporte{
    width: calc(50% - 80px);
    display: inline-block;
    margin: calc(40px - 4px);
    margin-bottom: 0;
}

#nossos-transportes .transporte h3{
    font-size: 35px;
    font-weight: 300;
    margin: 25px;
    color: #ED7481;
}

.saiba-mais-veiculo{
    color: white;
    background-color: #ED7481;
    padding: 5px 17px 5px 17px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 20px;
    cursor: pointer;
    margin-top: 20px;
}

.saiba-mais-veiculo:hover{
    color: white;
    background-color: #ed5f6e;
}


/***     BRICKS INFORMAÇÕES     ***/

#informacoes-bricks{
    background-color: #ffeff8;
}

#informacoes-bricks .brick-line{
    width: 100%;
    display: flex;
}

#informacoes-bricks .brick-line-1{
    flex-direction: row-reverse;
}

#informacoes-bricks .brick1{
    width: 55%;
}

#informacoes-bricks .brick-left{
    float: left;
}

#informacoes-bricks .brick-right{
    float: right;
}

#informacoes-bricks .brick1{
    width: 45%;
    background-color: #ec8dc4;
}

#informacoes-bricks .brick1,
#informacoes-bricks .brick2{
    border: 1px solid white;
    height: 350px;
    background-size: cover;
    background-position: center;
}

.bus-default-image {
    height: 300px;
    background-size: cover;
    background-position: center;
}

#informacoes-bricks .brick1 h3{
    position: relative;
    color: white;
    text-align: center;
    margin: 0 30px;
    font-weight: 300;
    
    top: 50%;
    transform: translateY(-60%);
}


/***     CONTATOS    ***/

#contato{
    width: 100%;
    background-color: rgb(252,252,252);
    text-align: center;
    padding: 70px 0;
}

#contato .contato-left{
    vertical-align: top;
    width: 55%;
    display: inline-block;
    margin: -2px;
    padding-left: 50px;
    padding-right: 30px;
}

#contato .contato-right{
    vertical-align: top;
    width: 45%;
    display: inline-block;
    margin: -2px;
    padding-right: 50px;
    padding-left: 30px;
}

/***     CONTATO ESQUERDO    ***/

#contato .w50{
    width: 50%;
    display: inline-block;
    margin: -2px;
}

#contato .w50:first-child{
    width: calc(50% - 10px);
    margin-right: 10px;
}

#contato .w50:last-child{
    width: calc(50% - 10px - 4px);
    margin-left: 10px;
}

#contato .w100{
    width: 100%;
}

#contato .input{
    margin-bottom: 15px;
}

#contato .input label{
    margin-bottom: 2px;
}

#contato .input label,
#contato .input input,
#contato .input textarea{
    width: 100%;
    text-align: left;
    color: black;
}

#contato h2{
    font-size: 35px;
    font-weight: 400;
    margin-bottom: 15px;
    color: #F56DB2;
}

#contato label{
    font-size: 23px;
    font-weight: 400;
    color: #3f3f3f !important;
}

#contato input,
#contato textarea{
    font-size: 20px;
    font-weight: 300;
    padding: 3px 10px 5px 10px;
    border-radius: 10px;
    border: 1px solid #ccc;
}

#contato textarea{
    height: 170px;
    min-height: 170px;
    max-height: 250px;
}

#enviar-mensagem{
    color: white;
    background-color: #ED7481;
    padding: 5px 15px 5px 15px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 22px;
    cursor: pointer;
    margin-top: 10px;
    border: 0;
}

#enviar-mensagem:hover{
    color: white;
    background-color: #ed5f6e;
}


/***     CONTATO DIREITO    ***/

.contato-right img{
    margin-top: 10px;
    margin-bottom: 20px;
    width: 60%;
}

.contato-right .contato-informacoes{
    text-align: center;
}

.contato-right .endereco{
    text-align: left;
}

.contato-right p{
    margin: 0;
    color: #4b4b4b;
}

.contato-right h5{
    text-align: center;
    font-size: 23px;
    font-weight: 400;
    color: #494949;
}

.contato-right .endereco img{
    width: 100%;
    cursor: pointer;
    margin-top: 10px;
    border: 1px solid rgb(226, 226, 226);
}

.contato-right .endereco{
    text-align: center;
}

.contato-informacoes .redes{
    text-align: center;
    margin: 15px 0 10px 0;
}

.contato-informacoes .redes a{
    text-decoration: none;
}

.contato-informacoes .redes i{
    color: rgb(92, 92, 92);
    font-size: 30px;
    padding: 0px 10px;
}


/***     FOOTER    ***/

footer{
    background-color: #ED5F6E;
    width: 100%;
    padding: 25px 0 30px 0;
}

footer span{
    color: white;
    font-size: 20px;
    font-weight: 400;
}

footer a{
    text-decoration: none;
    color: black;
}

footer a:hover{
    color: rgb(82, 82, 82);
}

footer .left{
    float: left;
}

footer .right{
    float: right;
}



@media screen and (max-width: 1050px){

    header .menu-desktop{
        display: none;
    }

    header #menu-mobile-button{
        display: inline-block;
    }

    #proximas-viagens .viagens-box{
        margin-top: 30px;
        text-align: center;
    }
    
    #proximas-viagens .viagem-box{
        width: calc(50% - 75px);
        display: inline-block;
        margin: 25px 25px;
    }

    #informacoes-bricks .container{
        width: 100%;
        padding: 0;
    }

}


@media screen and (max-width: 900px){

    #main-banner .carousel-caption{
        text-align: center !important;
    }

    #sobre p{
        font-size: 21px;
        margin: 30px 15px 50px 15px;
    }
    
    #sobre img{
        width: 90%;
    }

    #informacoes-bricks .brick-line{
        width: 100%;
        display: block;
        padding: 0 !important;
        margin: 0 !important;
    }

    #informacoes-bricks .brick2{
        width: 100%;
    }
    
    #informacoes-bricks .brick1{
        width: 100%;
        height: 150px
    }

    #informacoes-bricks .brick-line-1{
        flex-direction: row;
    }

    #contato{
        padding-bottom: 0;
    }

    #contato .container{
        margin: 2px 0;
        padding: 0;
    }

    #contato .contato-left{
        width: 100%;
        margin-bottom: 40px;
        padding: 0 40px;
    }
    
    #contato .contato-right{
        width: 100%;
        padding: 40px;
    }

    .contato-right .logo{
        margin-top: 10px;
        margin-bottom: 20px;
        width: 60%;
        max-width: 250px;
    }

    .contato-right .endereco img{
        max-width: 600px;
    }

    #objetivo-missao .w50{
        width: 100%;
        padding: 0 2%;
    }

    #missao{
        border: 0;
        padding: 0;
        padding-bottom: 50px !important;
    }

    #objetivo{
        padding: 0;
    }

}


@media screen and (max-width: 800px){

    #nossos-transportes .transporte{
        width: calc(100% - 100px);
        margin: 20px calc(50px - 4px);
    }

    #nossos-transportes .transporte img{
        width: 90%;
    }

    #proximas-viagens .viagem-box{
        width: calc(100% - 75px);
        display: inline-block;
        margin: 25px 25px;
        max-width: 500px;
    }

    footer{
        padding: 20px 0 25px 0;
    }

    footer span{
        width: 100%;
        text-align: center;
        padding: 3px 0;
    }

}


@media screen and (max-width: 500px){

    .container{
        padding: 0 2%;
    }

    #main-banner .carousel-caption{
        width: 100%;
        left: 0;
        padding: 0 20px;
    }

    .carousel-control-prev,
    .carousel-control-next{
        width: 0;
    }

    #sobre{
        width: 100%;
        background-color: #ec8dc4;
        text-align: center;
        color: white;
        padding: 70px 0 80px 0;
    }
    
    #sobre p{
        font-size: 18px;
        margin-top: 20px;
        margin-bottom: 30px;
    }
    
    #sobre img{
        width: 90%;
    }

    #contato .w50{
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .btn-viagem-large{
        display: none;
    }

    .btn-viagem-short{
        display: inline;
    }

    #main-banner .carousel-caption{
        top: 50%;
        transform: translateY(-40%);
    }

    #proximas-viagens .viagem-box{
        margin: 20px;
        width: calc(100% - 40px);
    }

    #nossos-transportes .transporte img{
        width: 100%;
    }

    #nossos-transportes .transporte{
        width: calc(100% - 40px);
        margin: 20px;
    }

    #contato .contato-left{
        padding: 20px
    }
    
    #contato .contato-right{
        padding: 20px;
    }

    #main-banner h1{
        font-size: 40px;
    }

    #main-banner .btn-banner{
        margin-top: 20px;
    }

}


@media screen and (max-width: 400px){

    .logo img{
        margin: 20px 0;
        padding-top: 0;
        padding-bottom: 0px ;
        height: 40px;
    }

    header .container{
        padding: 0 10px;
    }

}