@font-face {
    font-family: NotoColorEmojiLimited;
    unicode-range: U+1F1E6-1F1FF;
    src: url(https://raw.githack.com/googlefonts/noto-emoji/main/fonts/NotoColorEmoji.ttf);
}

body {

    margin: 0;
    padding: 0;
    background-image: url(cats/azulejo-pattern.png);
    background-size: 108px;
    /*
      animation: moveBackground 300s infinite linear;
      animation-timing-function: steps(800);*/
    /* 50s*/
}

@keyframes moveBackground {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 100% 100%;
    }
}

p {
    margin: 3px;

}

span {}

span#nome,
span#categoria,
span#nascimento,
span#sexo,
span#gosta,
span#ngosta,
span#persona,
span#info {}



#container {
    position: relative;
    height: 700px;
    width: 1400px;
    margin-top: -20px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 27px;
    border-image-source: url('/cats/borderazulejo.png');
    border-image-slice: 27 27;
    border-image-repeat: round;
    background-color: aliceblue;

}

#cat-info {
    justify-content: center;
    position: relative;
    height: inherit;
    display: flex;
    align-items: center;
    background-color: #405f7b;
    padding-left: 50px;
    padding-right: 50px;
}

#gato-foto {
    max-width: 500px;
    max-height: 500px;
    order: 1;
    border: dotted;
}

#photo-button-left {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -10px;
    border: none;
    background-color: transparent;
    background-image: url(cats/buttons/foto-arrow-left.png);
    width: 27px;
    height: 43px;
    cursor: pointer;
}

#photo-button-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -10px;
    border: none;
    background-color: transparent;
    background-image: url(cats/buttons/foto-arrow-right.png);
    width: 27px;
    height: 43px;
    cursor: pointer;
}


#gato-text {
    position: absolute;
    left: 550px;
    font-family: "Pangolin";
    font-size: 25px;
    order: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-overflow: ellipsis;
    margin-left: 60px;
    margin-right: 60px;
}

.gato-text-title {
    color: black;
}

.gato-text-text {
    color: #e3e3e3;
    font-size: 22px;
}

#back {
    position: absolute;
    top: 630px;
    left: 25px;
    background-size: cover;
    border: none;
    background-color: transparent;
    background-image: url('cats/buttons/voltar.png');
    width: 194px;
    height: 44px;
    cursor: pointer;
    opacity: 0.7;
}

#back:hover {
    opacity: 1;
}

#back-s {
    position: absolute;
    top: 630px;
    left: 25px;
    background-size: cover;
    border: none;
    background-color: transparent;
    background-image: url('cats/buttons/voltar.png');
    width: 194px;
    height: 44px;
    cursor: pointer;
    opacity: 0.7;
    display: none;
}







#map-container {
    height: 700px;
    width: 1400px;
    display: flex;
}


#map {
    width: 100%;
    height: inherit;
}

.map-button-left {
    position: absolute;
    top: 10px;
    left: 10px;
    background-size: cover;
    background-repeat: no-repeat;
    border: none;
    background-color: transparent;
    width: 162px;
    height: 59px;
    cursor: pointer;
}



#domesticos {
    background-image: url('cats/buttons/domesticos-checked.png'), url('cats/buttons/domesticos-unchecked.png');
}

#domesticos.clicked {
    background-image: url('cats/buttons/domesticos-unchecked.png');
}

#livres {
    background-image: url('cats/buttons/livres-checked.png'), url('cats/buttons/livres-unchecked.png');
    margin-top: 70px;
}

#livres.clicked {
    background-image: url('cats/buttons/livres-unchecked.png');
}

.map-button-right {
    position: absolute;
    top: 50px;
    right: 10px;
    background-size: cover;
    background-size: cover;
    border: none;
    background-color: transparent;
    width: 60px;
    height: 60px;
    cursor: pointer;
}

#zoom-in {
    background-image: url(cats/buttons/zoom-in.png);
}

#zoom-out {
    background-image: url(cats/buttons/zoom-off.png);
    top: 120px;
}

#zoom-original {
    background-image: url(cats/buttons/zoom-original.png);
    top: 230px;
}

#clustertoggle {
    background-image: url(cats/buttons/clusters-on.png), url(cats/buttons/clusters-off.png);
    top: 300px;
}

#clustertoggle.clicked {
    background-image: url(cats/buttons/clusters-off.png);
    top: 300px;
}

#soundbutton {
    position: absolute;
    top: 630px;
    left: 10px;
    background-size: cover;
    border: none;
    background-color: transparent;
    background-image: url('cats/buttons/sound-mute.png'), url('cats/buttons/sound-playing.png');
    background-size: 50px 42px, 0px 0px;
    width: 50px;
    height: 42px;
    cursor: pointer;
    z-index: 1;

}

#soundbutton.clicked {
    background-image: url('cats/buttons/sound-playing.png');
}


#button-container {
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 100px;
    z-index: 11;
    margin-top: -20px;
    /* Adjust this value to change the vertical spacing between buttons */
}

.body-button {
    z-index: 1;
    background: none;
    border: none;
    cursor: pointer;
    width: 195px;
    height: 71px;
    background-size: cover;
}

#butaomapa {
    background-image: url('cats/buttons/mapa.png');
}

#butaosubmeter {
    background-image: url('cats/buttons/submeter.png');
animation: wobble 1s ease infinite;
}

#butaosobre {
    background-image: url('cats/buttons/sobre.png');
}

#butaomapa:hover,
#butaosubmeter:hover,
#butaosobre:hover {
    -webkit-filter: invert(100%) !important;
}

#banner-container {
    width: 1400px;
    /* Match your #container desktop width */
    margin: 0 auto;
    /* Center horizontally */
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 200;
}


@keyframes wobble {
    0% {
        transform: rotate(-1deg);
    }

    50% {
        transform: rotate(1deg);
    }

    100% {
        transform: rotate(-1deg);
    }
}


.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}


#ze-gatinho {
    position: absolute;
    z-index: 1;
    right: -25px;
    top: -20px;
    image-rendering: pixelated;

}

#ze-gatinho-left {
    position: absolute;
    width: 220px;
    z-index: 1;
    left: -60px;
    top: -40px;
}

#ze-gatinho:not(:active):focus {
    animation: gelatine 0.5s;
}

@keyframes gelatine {

    from,
    to {
        transform: scale(1, 1);
    }

    25% {
        transform: scale(0.9, 1.1);
    }

    50% {
        transform: scale(1.1, 0.9);
    }

    75% {
        transform: scale(0.95, 1.05);
    }
}
















.invis {
    opacity: 0;
}

.marker {
    display: block;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
}

.foto {
    max-width: 200px;
    max-height: 190px;
    border: outset;
}

.foto:active {
    transform: scale(99%);
    border: inset;
}

#gatonome {
    margin-bottom: 12px;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    letter-spacing: 2px;
    text-decoration: underline;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}

#butaodetalhes {
    margin: 10px;
    margin-bottom: 15px;
    background: none;
    border: none;
    cursor: pointer;
    background-image: url(cats/buttons/detalhes.png), url(cats/buttons/detalhes-hover.png);
    background-size: 174px 46px, 0px 0px;
    width: 174px;
    height: 46px;

}

#butaodetalhes:hover {
    background-image: url(cats/buttons/detalhes-hover.png);
}

.mapboxgl-popup-wrapper {}

.mapboxgl-popup-content {
    /*      font-family: 'Handwriting', sans-serif;*/
    font-family: "Pangolin", cursive;
    font-size: 20px;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.5);
    bottom: 11px;
    border-radius: 50px;
    border-style: double;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
}




.mapboxgl-popup-content {
    background-image: url(cats/buttons/paw-horizontal.png), url(cats/buttons/paw-horizontal.png), url(cats/buttons/paw-vertical.png), url(cats/buttons/paw-vertical.png), url(cats/buttons/back-357.gif);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y, repeat;
    background-size: 54px 15px, 54px 15px, 18px 45px, 18px 45px, 100px 89px;
    background-position: left top, right bottom, left bottom, right top, center;
    animation: border-dance 0.8s infinite linear;
    animation-timing-function: steps(3);
    margin-right: -33px;
    margin-left: -33px;
}

@keyframes border-dance {
    0% {
        background-position: left top, right bottom, left bottom, right top, center;
    }

    100% {
        background-position: left 54px top, right 54px bottom, left bottom 45px, right top 45px;
    }
}



/*
  .mapboxgl-popup-content {
      background-image: linear-gradient(90deg, black 50%, transparent 50%), linear-gradient(90deg, black 50%, transparent 50%), linear-gradient(0deg, black 50%, transparent 50%), linear-gradient(0deg, black 50%, transparent 20%);
      background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
      background-size: 25px 3px, 25px 3px, 3px 25px, 3px 25px;
      background-position: left top, right bottom, left bottom, right top;
      animation: border-dance 0.6s infinite linear;
      animation-timing-function: steps(3);

  }

  @keyframes border-dance {
      0% {
          background-position: left top, right bottom, left bottom, right top;
      }

      100% {
          background-position: left 25px top, right 25px bottom, left bottom 25px, right top 25px;
      }
  }
*/



.mapboxgl-popup-tip {
    opacity: 0;
}

.mapboxgl-popup-close-button {
    display: none;
}

#sobre {
    padding-left: 50px;
    padding-right: 50px;
    height: inherit;
    background-color: #405f7b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#sobre-title {
    font-family: "Pangolin", cursive;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 40px;
    letter-spacing: 4px;
}

.funny-button {}

#funny-buttons {
    justify-content: center;
    display: flex;
    gap: 30px;
}

#sobre-text {
    color: #e3e3e3;
    font-family: "Pangolin", cursive, 'NotoColorEmojiLimited';
    font-size: 25px;
    padding: 100px;
    padding-bottom: 20px;
    padding-top: 0px;
    text-align: center;
}

#submeter {
    padding-left: 50px;
    padding-right: 50px;
    height: inherit;
    background-color: #405f7b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

label {}


.form-coluna {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    font-family: "Pangolin";
    color: #e3e3e3;
    font-size: 22px;
}

#submeter-title {
    font-family: "Pangolin", cursive;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 40px;
    letter-spacing: 4px;
}

#btnsubmit {}



textarea,
select {
    resize: none;
    border-style: dotted;
    opacity: 0.8;
    border-radius: 3px;
}

.form-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 20px;
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#fotoesetas {
    margin-right: 780px;
}

.form-submeter {
    padding: 10px;
    margin: 15px;
    border-style: dashed;
}

input {
    opacity: 0.8;
    border-radius: 3px;
}

#submeter-text1 {
    color: #e3e3e3;
    font-family: "Pangolin", cursive;
    font-size: 22px;
}

#submeter-text2 {
    color: #e3e3e3;
    font-family: "Pangolin", cursive;
    font-size: 20px;
    padding: 88px;
    padding-bottom: 20px;
    padding-top: 0px;
}

#nascimento {
    height: 15px;
}

#nome {
    height: 15px;
}

#localizacao {
    height: 15px;

}

#gosta {
    height: 30px;

}

#naogosta {
    height: 30px;

}

#personalidade {
    height: 45px;

}

#informacao {
    height: 45px;

}

.foto-uploaders {
    display: flex;
    flex-direction: column;
}

#banner {
    display: block;
    width: 816px;
    margin-top: -10px;
    image-rendering: pixelated;
}

#banner-m {
    display: none;
}




.popupInicial {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f1f1f1;
    padding: 20px;
    border: 1px solid #ccc;
    z-index: 9999;
}

.closeInicial {
    position: absolute;
    top: 5px;
    right: 10px;
    color: #000;
    cursor: pointer;
}

#overlayInicial {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
}

.photo-button {
    background-size: cover;
}

#contrucao {
    position: absolute;
    top: -40px;
    left: -50px;
    z-index: 999;
}

#sobre-text p {
    margin: 10px;
}

a:link {
    color: aliceblue;
    text-decoration: none;
}

#formerro {
    color: palevioletred;
    text-decoration: underline;
}


.glow1 {
    font-size: 40px;
    animation: glow1 3s linear infinite;
}


@keyframes glow1 {
    0% {
        color: #FF0000;
    }

    33% {
        color: #00B000;
    }

    66% {
        color: #0000FF;
    }

    100% {
        color: #FF0000;
    }
}

#setasobre {
    position: absolute;
    bottom: 30px;
    left: 556px;
}

.mail {
    color: red;
}










@media (max-width: 768px) {
    @media (max-width: 768px) {

        html,
        body {
            height: 100vh;
            margin: 0;
            padding: 0;
            /*        overflow: hidden;*/
        }

        #banner-container {
            position: relative;
            width: 100vw;
            height: 90px;
            /* Adjust to your banner-m's actual height */
            display: flex;
            justify-content: center;
            align-items: flex-start;
            margin: 0;
            padding: 0;
            z-index: 200;
            margin-bottom: 60px;
            margin-top: 10px;
        }

        #banner-m {
            display: flex;
            width: 340px;
            height: 90px;
            margin-top: 0;
        }

        #banner {
            display: none;
        }

        #ze-gatinho,
        #contrucao {
            display: none;
        }

        #container {
            width: 100vw !important;
            min-width: 100vw;
            max-width: 100vw;
            margin: 0;
            box-sizing: border-box;
            margin-top: 0px;
            height: calc(100vh - 90px);
            /* No height! */
        }

        #map-container {
            position: relative;
            height: 100%;
            width: 100%;
            min-height: 0;
            max-height: 100%;
            height: calc(100vh - 90px);
            /* Or 100vh if banner is hidden */
            display: flex;
        }

        #map {
            margin-top: 0px;
            height: 100%;
            min-height: 0;
            max-height: 100%;
            width: 100%;
        }

        .map-button-right {
            position: absolute;
            top: 10px;
            right: 10px;
            background-size: cover;
            border: none;
            background-color: transparent;
            width: 40px;
            height: 40px;
            cursor: pointer;
        }

        .map-button-left {
            position: absolute;
            top: 4px;
            left: -10px;
            background-size: cover;
            border: none;
            background-color: transparent;
            width: 162px;
            height: 59px;
            cursor: pointer;
            transform: scale(0.75)
        }

        #livres {
            top: 60px;
        }

        #zoom-out {
            top: 60px;
        }

        #zoom-original {
            top: 125px;
        }

        #clustertoggle {
            top: 175px;
        }

        #clustertoggle.clicked {
            top: 175px;
        }

        #button-container {
            position: absolute;
            top: -70px;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            padding: 0 0;
            /* Remove gap, full edge-to-edge */
            gap: 0;
            z-index: 100;
            background: transparent;
            /* or white, if you want a background bar */
        }

        .body-button {
            flex: 1 1 50%;
            width: 50vw;
            /* Each button takes half the container width */
            height: 60px;
            /* Adjust as needed */
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            border: none;
            outline: none;
            margin: 0;
            padding: 0;
            transform: scale(0.8);
        }
        
        @keyframes wobble {
    0% {
        transform:  scale(0.8) rotate(-1deg);
    }

    50% {
        transform: scale(0.80) rotate(1deg);
    }

    100% {
        transform: scale(0.8) rotate(-1deg);
    }
}


.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}



        #soundbutton {
            position: absolute;
            top: 500px;
            left: 3px;
            background-size: cover;
            border: none;
            background-color: transparent;
            background-image: url('cats/buttons/sound-mute.png'), url('cats/buttons/sound-playing.png');
            background-size: 50px 42px, 0px 0px;
            width: 50px;
            height: 42px;
            cursor: pointer;
            z-index: 999;
            display: none;
        }

        #butaomapa {
            background-image: url('cats/buttons/mapa-m.png');
            display: none;
        }

        #butaosubmeter {
            background-image: url('cats/buttons/submeter.png');
            
        }

        #butaosobre {
            background-image: url('cats/buttons/sobre.png');
        }

        #cat-info {
            display: flex;
            justify-content: center;
            position: relative;
            height: auto;
            flex-direction: column;
            flex-wrap: wrap;
            gap: 3px;
            align-items: center;
            background-color: #405f7b;
            padding-left: 0px;
            padding-right: 0px;
            margin-top: 0px;
            padding-bottom: 40px;
        }

        #gato-foto {
            max-width: 260px;
            max-height: 260px;
            order: 1;
            border: dotted;
        }

        #fotoesetas {
            margin-right: 0px;
            position: relative !important;
            top: 20px;
        }

        #gato-text {
            position: relative;
            left: 0px;
            font-family: "Pangolin";
            font-size: 2.6vh;
            order: 0;
            display: flex;
            flex-direction: column;
            gap: 5px;
            text-overflow: ellipsis;
            margin-left: 5px;
            margin-right: 5px;
            top: 20px;
        }

        .gato-text-text {
            color: #e3e3e3;
            font-size: 2.4vh;
        }

        #back {
            position: relative;
            top: 40px;
            left: 0px;
            background-size: cover;
            border: none;
            background-color: transparent;
            background-image: url('cats/buttons/voltar.png');
            width: 194px;
            height: 44px;
            cursor: pointer;
            opacity: 0.7;
            transform: scale(0.7);
        }

        #submeter {
            padding-left: 0px;
            padding-right: 0px;
            position: relative;
            height: auto;
            background-color: #405f7b;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            margin-top: 0px;
        }

        #submeter-title {
            font-family: "Pangolin", cursive;
            margin-left: auto;
            margin-right: auto;
            margin-top: 30px;
            margin-bottom: 0px;
            font-size: 3vh;
            letter-spacing: 4px;
        }

        #submeter-text1 {
            color: #e3e3e3;
            font-family: "Pangolin", cursive;
            font-size: 2vh;
            padding: 10px;
            text-align: center;
        }

        .form-submeter {
            padding: 10px;
            margin: 15px;
            border-style: none;
        }

        .form-coluna {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 0px;
            font-family: "Pangolin";
            color: #e3e3e3;
            font-size: 2vh;
            margin-bottom: 20px;
            margin-top: -40px;
        }

        .form-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: 30px;
        }

        #submeter-text2 {
            color: #e3e3e3;
            font-family: "Pangolin", cursive;
            font-size: 2vh;
            padding: 10px;
            padding-bottom: 20px;
            padding-top: 0px;
        }

        #submeter-text2 p {
            margin-bottom: 10px;
        }

        textarea {
            height: 1em;
            width: 10em;
        }

        #back-s {
            position: relative;
            top: 0px;
            left: 0px;
            margin-bottom: 30px;
            background-size: cover;
            border: none;
            background-color: transparent;
            background-image: url('cats/buttons/voltar.png');
            width: 194px;
            height: 44px;
            cursor: pointer;
            opacity: 0.7;
            display: block;
        }

        #sobre {
            padding-left: 0px;
            padding-right: 0px;
            height: auto;
            background-color: #405f7b;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            margin-top: 0px;
        }

        #sobre-title {
            font-family: "Pangolin", cursive;
            margin-left: auto;
            margin-right: auto;
            margin-top: 50px;
            margin-bottom: 0px;
            font-size: 4vh;
            letter-spacing: 4px;
        }

        #setasobre {
            position: absolute;
            bottom: 30px;
            left: 556px;
            display: none;
        }

        #sobre-text {
            color: #e3e3e3;
            font-family: "Pangolin", cursive, 'NotoColorEmojiLimited';
            font-size: 3vh;
            padding: 50px;
            padding-bottom: 20px;
            padding-top: 0px;
            text-align: center;
        }

        #funny-buttons {
            justify-content: center;
            display: flex;
            flex-direction: row;
            flex-flow: wrap;
            gap: 30px;
            margin-bottom: 50px;
        }

        #livres {
            margin-top: 0px;
        }
    }
