#banner {
    height: auto;
    padding: 10.2vw 0 1vw;
    background: rgb(91, 169, 221);
    background: linear-gradient(114deg, rgba(91, 169, 221, 1) 0%, rgba(57, 139, 195, 1) 100%);
    border-top: 5px solid #92b644;
    position: relative;
}

.nuvens {
    width: 101.4583vw;
    height: 10.2708vw;
    background: transparent url(../../restaurante-infantil/home/nuvens.webp) repeat-x;
    background-size: cover;
    position: absolute;
    right: 0px;
    top: 4.3229vw;
    bottom: 0;
    z-index: 1;
    animation: move-background 100s linear infinite;
}

@keyframes move-background {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 101.4583vw 0;
    }
}

.grama {
    width: 100%;
    height: 100%;
    background: url(../../restaurante-infantil/background/grama-personagens.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 101%;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
}

#banner .container {
    position: relative;
    z-index: 3;
    padding: 0 14.2%;
}

#banner .subtitulo {
    text-align: center;
    color: #ffa812;
    font-family: "Titan One", sans-serif;
    font-size: 2.0833vw;
}

#banner .titulo {
    text-align: center;
    color: #fff;
    font-family: "Titan One", sans-serif;
    font-size: 7.2916vw;
    text-shadow: 3px 3px 22px #0000002b;
    margin-top: -1.7vw;
}

#banner .texto {
    text-align: center;
    color: #fff;
    font-size: 0.9375vw;
    letter-spacing: 0.052vw;
    line-height: 1.5625vw;
    width: 89%;
    margin: auto;
}

#banner .personagens-box {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 2.5vw;
    padding-left: 5vw;
}

#banner .box {
    position: relative;
    margin-left: -3vw;
    transition: .3s ease-in-out;
    transform: scale(0.9);
}

#banner .box.box-filo {
    margin-left: -4.5vw;
}

#banner .box:hover {
    transform: scale(1.1);
    z-index: 5;
}

#banner .btn-personagem {
    color: #ff6818;
    font-size: 1.0416vw;
    font-family: "Titan One", sans-serif;
    background-color: #fff;
    height: 3.2vw;
    width: 10.2vw;
    border: 3px solid #f9a915;
    border-radius: 30px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.781vw;
    top: calc(76% - 1.6vw);
    right: calc(59% - 5.1vw);
    transition: all 0.5s;
    opacity: 0;
}

#banner .box:hover .btn-personagem {
    opacity: 1;
}

#banner .btn-personagem:hover {
    box-shadow: inset 0 0 0 2em #f9a915;
    color: #fff;
}

#banner .btn-personagem:hover img {
    filter: brightness(3) grayscale(1);
}

#banner .btn-personagem.btn-center {
    right: calc(50% - 5.1vw);
}

#banner .btn-personagem p {
    text-align: center;
    position: relative;
}


/*personagens*/
#auau {
    background-color: #feae00;
    background-image: url(../../restaurante-infantil/background/auau-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#filo {
    background-color: #fff;
    background-image: url(../../restaurante-infantil/background/filo-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#fuba {
    background-color: #ff7339;
    background-image: url(../../restaurante-infantil/background/fuba-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#milu {
    background-color: #70bd28;
    background-image: url(../../restaurante-infantil/background/milu-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#torresmo {
    background-color: #843f21;
    background-image: url(../../restaurante-infantil/background/torresmo-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

#personagens .titulo {
    font-size: 5.4687vw;
    letter-spacing: 0.052vw;
    font-family: "Titan One", sans-serif;
    margin-top: -0.8vw;
}

#personagens .subtitulo {
    font-size: 1.0416vw;
    letter-spacing: 0.052vw;
    font-family: "Titan One", sans-serif;
}

#personagens .titulo-2 {
    font-size: 1.6666vw;
    font-family: "Titan One", sans-serif;
    margin: 2vw 0 1vw;
}

#personagens .texto {
    font-size: 14px;
    line-height: 23px;
    letter-spacing: 0.3px;
}

#personagens .texto i{
    font-style: italic;
}

#personagens .t-branco {
    color: #fff;
}

#personagens .t-verde {
    color: #3d6717;
}

#personagens .t-marrom {
    color: #864328;
}

#personagens .t-vermelho {
    color: #ff493c;
}

#personagens .t-laranja {
    color: #ff6530;
}

#personagens .container-personagem-v1,
#personagens .container-personagem-v2 {
    padding: 0 14.2%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

#personagens .container-personagem-v1 .dir,
#personagens .container-personagem-v2 .esq {
    width: 51%;
}

#personagens .container-personagem-v1 .esq,
#personagens .container-personagem-v2 .dir {
    flex: 1;
    display: flex;
}

#personagens .container-personagem-v1 .esq {
    justify-content: flex-start;
    padding-right: 2vw;
}

#personagens .container-personagem-v2 .dir {
    justify-content: flex-end;
    padding-left: 2vw;
}

#personagens .box-estilo {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 2vw;
}

#personagens .box-estilo .box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    width: 22.5%;
    background-color: #fff;
    border-radius: 10px;
    padding: 1.502vw 0;
}

#personagens #filo .box-estilo .box {
    background-color: #ff493c;
}

#personagens .box-estilo .box p {
    text-align: center;
    font-size: 0.8333vw;
    letter-spacing: 0.022vw;
    font-family: "Titan One", sans-serif;
}

#personagens .box-estilo .box img {
    width: auto;
    height: 2.864vw;
}

/*galeria*/
#galeria-header {
    padding: 8vw 14.2% 0;
    background-color: #92b644;
    background-image: url(../../restaurante-infantil/background/galeria-header-bg.webp);
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
}

#galeria-header::before {
    content: '';
    display: block;
    width: 12.7083vw;
    height: 10.364vw;
    background-image: url(../../restaurante-infantil/personagens/regador-personagens.webp);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 1vw;
    top: -2.5vw;
}

#galeria-header .titulo {
    font-family: "Titan One", sans-serif;
    color: #fff;
    font-size: 2.6041vw;
    text-align: center;
    margin-bottom: 1.0417vw;
}

#galeria-header .texto {
    color: #fff;
    font-size: 0.9375vw;
    line-height: 1.9vw;
    letter-spacing: 0.026vw;
    text-align: center;
    width: 65%;
    margin: auto;
}

#galeria-footer {
    padding: 2px 14.2% 12vw;
    background-color: #92b644;
    position: relative;
}

#galeria-footer .btn {
    display: inline-block;
    margin-top: 0.7813vw;
    position: relative;
    margin-left: calc(49% - 9.34895vw);
}

#galeria-footer .btn::before {
    content: '';
    display: block;
    background-image: url(../../restaurante-infantil/home/botao-detalhe.webp);
    background-size: contain;
    background-repeat: no-repeat;
    width: 8.1771vw;
    height: 2.4479vw;
    position: absolute;
    top: 3.4vw;
    left: 5.7604vw;
}

#galeria-footer .btn .btn-inside {
    font-family: "Titan One", sans-serif;
    color: #fff;
    font-size: 1.25vw;
    display: block;
    background-image: url(../../restaurante-infantil/background/botao-personagens-bg.webp);
    padding: 1.1979vw 2.45vw;
    width: 18.6979vw;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    transition: .3s ease-in-out;
    z-index: 2;
}

#galeria-footer .btn:hover .btn-inside {
    transform: rotate(3deg);
}

#galeria-footer::after {
    content: '';
    display: block;
    width: 9.6354vw;
    height: 13.229vw;
    background-image: url(../../restaurante-infantil/personagens/terra-personagens.webp);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 1vw;
    top: -6vw;
}

#galeria {
    padding: 0 0 2vw 0;
    overflow-x: hidden;
    position: relative;
    background-color: #92b644;
}

#galeria .btn {
    display: none;
}

#galeria .container-galeria {
    position: relative;
}

#galeria .swiper {
    width: 145%;
    margin-left: -22.5%;
    perspective: 1200px;
    overflow: visible;
    padding: 3vw 0 4.1667vw;
}

#galeria .swiper .swiper-wrapper {
    transform-style: preserve-3d;
    transform: translate3d(-1220px, 0px, 0px);
}

#galeria .swiper-slide {
    background-position: center;
    background-size: cover;
    border-radius: 20px;
    border: 15px solid #fff;
    box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
}

#galeria .swiper-slide img {
    display: block;
    width: 100%;
    height: 35.15vw;
    object-fit: cover;
    border-radius: 5px;
    transition: 0.3s ease-in-out;
}

#galeria .swiper-button-prev {
    left: 34.8% !important;
}

.swiper-button-prev:after {
    content: url(../../restaurante-infantil/home/galeria/seta-esquerda.webp) !important;
    width: 12px !important;
    height: 56px !important;
}

#galeria .swiper-button-next {
    right: 34.8% !important;
}

.swiper-button-next:after {
    content: url(../../restaurante-infantil/home/galeria/seta-direita.webp) !important;
    width: 12px !important;
    height: 56px !important;
}

.swiper-button-next,
.swiper-button-prev {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px;
}

.swiper-button-prev {
    background-color: #ff6818;
}

.swiper-button-next {
    background-color: #ffae00;
}


#galeria .legenda-galeria {
    color: #fff;
    font-family: "Titan One", sans-serif;
    letter-spacing: 0.0521vw;
    position: absolute;
    bottom: -1.9792vw;
    left: calc(50% - 8.2396vw);
    text-align: center;
    font-size: 1.4583vw;
    padding: 0.5208vw;
    height: 3.0208vw;
    min-width: 16.5104vw;
    background-image: url(../../restaurante-infantil/home/galeria/legenda-bg.webp);
    background-size: cover;
}

#galeria .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
}

#galeria .swiper-pagination-bullet-active {
    background-color: #5c8eff;
}

/*animacao 3d do slide*/
#galeria .swiper-slide {
    transition: all .3s ease-in-out !important;
}

#galeria .swiper-slide.slide-inicial {
    -webkit-transform: translate3d(40%, 5%, -200px) rotateZ(-10deg) scale(0.9) !important;
    transform: translate3d(40%, 5%, -200px) rotateZ(-10deg) scale(0.8) !important;
    transition: all .3s ease-in-out !important;
}

#galeria .swiper-slide.swiper-slide-active {
    -webkit-transform: translate3d(0px, 0px, 0px) rotateZ(0deg) scale(1) !important;
    transform: translate3d(0px, 0px, 0px) rotateZ(0deg) scale(1) !important;
    margin-right: 0px !important;
}

#galeria .swiper-slide.swiper-slide-prev {
    -webkit-transform: translate3d(19%, 0%, -100px) rotateZ(-6deg) scale(0.9) !important;
    transform: translate3d(19%, 0%, -100px) rotateZ(-6deg) scale(0.9) !important;
}

#galeria .swiper-slide.swiper-slide-next {
    -webkit-transform: translate3d(-19%, 0%, -100px) rotateZ(6deg) scale(0.9) !important;
    transform: translate3d(-19%, 0%, -100px) rotateZ(6deg) scale(0.9) !important;
}

#galeria .swiper-slide.swiper-slide-next+.swiper-slide {
    -webkit-transform: translate3d(-40%, 5%, -200px) rotateZ(10deg) scale(0.8) !important;
    transform: translate3d(-40%, 5%, -200px) rotateZ(10deg) scale(0.8) !important;
}

/***** QUEBRAS *****/
@media only screen and (max-width: 1366px) {

    #banner .container,
    #personagens .container-personagem-v1,
    #personagens .container-personagem-v2 {
        padding: 0 10%;
    }

    #galeria-header {
        padding: 8vw 10% 0;
    }

    #galeria-footer {
        padding: 0 10% 12vw;
    }

    #galeria {
        padding: 0px 0 3vw 0;
    }

    #galeria-header .texto,
    #banner .texto {
        font-size: 14px;
        letter-spacing: 0.3px;
        line-height: 22px;
    }

    #banner .texto {
        width: 100%;
    }

    #personagens .subtitulo {
        font-size: 16px;
        letter-spacing: 0.5px;
    }

    #personagens .box-estilo .box p {
        font-size: 13px;
        letter-spacing: 0.2px;
    }
}

/***** MOBILE *****/
@media only screen and (max-width: 1024px) {
    .grama {
        background-size: 1520px;
        background-position: 50% 101%;
    }

    .nuvens {
        width: 1946px;
        height: 200px;
        top: 120px;
    }

    #galeria {
        margin-top: 0;
        padding: 0 0 40px 0;
    }

    #galeria .swiper-slide img {
        height: 59.77vw;
    }

    #galeria .legenda-galeria {
        font-size: 18px;
        height: 35px;
        min-width: 190px;
        letter-spacing: 0.5px;
        bottom: -24px;
        left: calc(50% - 95px);
        padding: 7px 0px;
    }

    #galeria .swiper-button-next {
        right: 24.2% !important;
    }

    #galeria .swiper-button-prev {
        left: 24.2% !important;
    }

    #galeria .btn::before {
        width: 150px;
        height: 47px;
        top: 54px;
        left: 22px;
    }

    #galeria .swiper {
        padding: 80px 0 60px;
    }

    #galeria-header .titulo {
        font-size: 45px;
        margin-bottom: 20px;
    }

    #galeria-header .texto {
        width: 80%;
    }

    #galeria-footer {
        padding: 0 5% 200px;
    }

    #galeria-footer .btn .btn-inside {
        font-size: 19px;
        width: 282px;
        padding: 19px 34px;
    }

    #galeria-footer .btn {
        margin-left: calc(50% - 141px);
        margin-top: 40px;
    }

    #galeria-footer .btn::before {
        width: 150px;
        height: 47px;
        top: 52px;
        left: 60px;
    }

    #milu,
    #fuba,
    #filo,
    #auau,
    #torresmo {
        background-size: contain;
    }

    #banner {
        height: auto;
        padding: 220px 0 50px;
    }

    #banner .subtitulo {
        font-size: 32px;
    }

    #banner .container,
    #personagens .container-personagem-v1,
    #personagens .container-personagem-v2 {
        padding: 0 5%;
    }

    #galeria-header {
        padding: 60px 5% 0;
    }

    #banner .titulo {
        font-size: 80px;
        margin-top: -25px;
    }

    #banner .btn-personagem {
        font-size: 14px;
        height: 38px;
        width: 140px;
        gap: 5px;
        top: calc(76% - 19px);
        right: calc(59% - 70px);
    }

    #banner .btn-personagem.btn-center {
        right: calc(50% - 70px);
    }

    #banner .btn-personagem img {
        transform: scale(0.8);
    }

    #personagens .titulo {
        font-size: 80px;
        letter-spacing: 0.5px;
        margin-top: -10px;
    }

    #personagens .titulo-2 {
        font-size: 22px;
        margin: 40px 0 20px;
    }

    #personagens .container-personagem-v1 {
        flex-direction: column;
    }

    #personagens .container-personagem-v2 {
        flex-direction: column-reverse;
    }

    #personagens .container-personagem-v1 .dir,
    #personagens .container-personagem-v2 .esq {
        width: 100%;
        margin-bottom: 50px;
    }

    #personagens .box-estilo .box img {
        height: 45px;
    }

    #personagens .box-estilo .box {
        gap: 13px;
        padding: 30px 0;
    }

    #personagens .container-personagem-v1 .esq,
    #personagens .container-personagem-v2 .dir {
        width: 100%;
        padding: 0;
        justify-content: center;
    }

    #personagens .container-personagem-v1 .esq img,
    #personagens .container-personagem-v2 .dir img {
        max-height: 450px;
    }
}

@media only screen and (max-width: 600px) {
    #galeria .swiper {
        width: 200%;
        margin-left: -50%;
    }

    #galeria .swiper-slide img {
        height: 74.77vw;
    }

    #galeria .swiper-button-prev {
        left: 14.2% !important;
    }

    #galeria .swiper-button-next {
        right: 14.2% !important;
    }

    #banner .titulo {
        font-size: 11vw;
        margin-top: -18px;
    }

    #galeria-header .texto {
        width: 90%;
    }

    #personagens .titulo {
        font-size: 14vw;
    }


}

@media only screen and (max-width: 450px) {
    #galeria {
        padding: 0 0 36px 0;
        background-size: 250%;
    }

    #galeria .swiper-slide img {
        height: 86.77vw;
    }

    #galeria .swiper {
        width: 220%;
        margin-left: -60%;
    }

    #galeria .swiper-button-prev {
        left: 10.2% !important;
    }

    #galeria .swiper-button-next {
        right: 10.2% !important;
    }

    #banner {
        padding: 33vw 0 50px;
    }

    #banner .personagens-box {
        margin-bottom: 20px;
        padding-left: 0;
    }

    #banner .box:first-child {
        margin-left: 0;
    }

    #banner .box {
        margin-left: -25px;
    }

    #banner .subtitulo {
        font-size: 6vw;
    }

    #personagens .container-personagem-v1 .esq,
    #personagens .container-personagem-v2 .dir {
        margin-bottom: 20px;
    }

    #personagens .box-estilo {
        flex-wrap: wrap;
        gap: 15px;
    }

    #personagens .box-estilo .box {
        width: calc(50% - 7.5px);
        margin-bottom: 20px;
    }

    #galeria-header::before {
        width: 90px;
        height: 75px;
        right: 20px;
        top: -30px;
    }

    #galeria-footer::after {
        width: 70px;
        height: 96px;
        left: 10px;
        top: -70px;
    }

    #personagens .container-personagem-v1 .esq img,
    #personagens .container-personagem-v2 .dir img {
        max-height: 79vw;
    }

    .grama {
        background-size: 2800px;
    }

    #banner .box {
        width: 35%;
    }

    #banner .personagens-box {
        flex-wrap: wrap;
    }

    #banner .box.box-filo,
    #banner .box.box-fuba {
        margin-top: -40px;
        margin-left: 0px;
    }

    #banner .btn-personagem {
        font-size: 12px;
        height: 34px;
        width: 120px;
        top: calc(76% - 17px);
        right: calc(59% - 60px);
    }

    #banner .btn-personagem img {
        transform: scale(0.7);
    }
}


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

    #galeria-footer .btn .btn-inside {
        font-size: 17px;
        width: 260px;
        padding: 17px 34px;
    }

    #galeria-footer .btn {
        margin-left: calc(50% - 130px);
    }

    #galeria-footer .btn::before {
        top: 46px;
    }

    #banner .titulo {
        margin-top: -5px;
    }


}