/* 
rgba(7, 106, 62, 1)
rgba(178, 36, 46, 1)
rgba(21, 47, 94, 1)
*/

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: max-content;
    z-index: 1;

    div.header {
        position: relative;
        width: 100%;
        height: max-content;
        padding: 1em 1em;

        display: flex;
        flex-direction: row;
        align-items: start;
        justify-content: end;

        img {
            position: relative;
            height: 2em;
            display: none;
        }

        div.links {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: end;
            gap: 1em;
            padding-right: 1em;

            a, a:hover {
                text-decoration: none;
                color: white;
                font-size: 1.3em;
            }

            a:last-child {
                display: none;
            }
        }
    }

    div.flag-italy {
        position: relative;
        width: 100%;
        height: .5em;
        display: none;
        flex-direction: row;

        div {
            position: relative;
            width: 100%;
            height: 100%;
        }

        div.white {
            background-color: white;
        }
        div.green {
            background-color: rgba(7, 106, 62, 1);
        }

        div.red {
            background-color: rgba(178, 36, 46, 1);
        }
    }
}

header.flag-italy {
    position: sticky;

    div.header {
        background-color: rgba(21, 47, 94, 1);
        justify-content: space-between;

        img {
            display: block;
        }

        div.links {
            a, a:hover {
                font-size: 1.1em;
            }

            a:last-child {
                display: inline;
            }
        }
    }

    div.flag-italy {
        display: flex;
    }
}

section.background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/img/background/background-index.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* display: none; */
}

section#index {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: rgba(21, 47, 94, .8);
    /* display: none; */

    img {
        position: absolute;
        top: 20vh;
        left: 10vw;
        width: 30vw;
    }

    div.links {
        position: absolute;
        bottom: 30vh;
        left: 10vw;
        width: 80vw;
        display: flex;
        align-items: center;
        justify-content: start;
        flex-direction: row;
        gap: 5em;

        div.flag-italy {
            position: relative;
            width: 100%;
            height: 1em;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: row;

            div {
                position: relative;
                width: 100%;
                height: 100%;
            }

            div.red {
                background-color: rgba(178, 36, 46, 1);
            }
            div.white {
                background-color: white;
            }
            div.green {
                background-color: rgba(7, 106, 62, 1);
            }
        }

        div.link {
            position: relative;
            width: max-content;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: center;
            gap: 2em;

            a {
                color: white;
                font-size: 1.5em;
                border-bottom: .2em solid transparent;
            }

            a:hover {
                text-decoration: none;
                color: white;
                border-bottom: .2em solid white;
            }
        }
    }
}

section.aluguel-venda {
    position: relative;
    width: 100%;
    height: max-content;
    height: max-content;
    background-color: white;
    color: rgba(21, 47, 94, 1);
    display: none;

    div.header {
        position: relative;
        width: 100%;
        height: max-content;
        padding: 4em;
        background-color: white;

        h1 {
            position: relative;
            width: max-content;
            text-align: left;
            font-size: 2em;
            padding-right: .5em;
            border-bottom: .17em solid rgba(21, 47, 94, 1);
        }

        a, a:hover {
            text-decoration: none;
            font-size: 1em;
            color: rgba(21, 47, 94, 1);
        }
    }
    
    div.body {
        position: relative;
        width: 100%;
        height: max-content;
        padding: 1em 4em 4em 4em;
        background-color: white;

        div.body-cards {
            position: relative;
            width: 100%;
            height: max-content;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 4em;

            div.body-card {
                position: relative;
                width: 70%;
                height: max-content;
                padding: 2em;
                border-radius: .5em;
                box-shadow: 0 .4em .6em rgba(0, 0, 0, 0.1);
                display: flex;
                flex-direction: row;
                align-items: start;
                justify-content: start;
                gap: 2em;
                overflow: hidden;
                cursor: pointer;

                div.card-img {
                    position: relative;
                    width: 15em;
                    height: 10em;

                    img {
                        position: relative;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }

                    label {
                        position: absolute;
                        right: .5em;
                        bottom: .5em;
                        margin: 0;
                        padding: .4em .8em;
                        color: white;
                        background-color: rgba(0, 0, 0, 0.8);
                        cursor: pointer;
                    }
                }

                div.card-dados {
                    position: relative;
                    width: calc(100% - 15em);
                    height: auto;
                    display: flex;
                    flex-direction: column;
                    gap: 1em;

                    h2 {
                        font-size: 1.5em;
                        margin: 0;
                    }

                    span {
                        position: relative;
                        font-size: 1em;

                        svg {
                            font-weight: bold;
                        }
                    }
                }
            }
        }
    }
}

section.aluguel-venda-detalhe {
    position: relative;
    width: 100%;
    height: max-content;
    height: max-content;
    background-color: white;
    color: rgba(21, 47, 94, 1);
    display: none;

    div.header {
        position: relative;
        width: 100%;
        height: max-content;
        padding: 4em;
        background-color: white;

        h1 {
            position: relative;
            width: max-content;
            text-align: left;
            font-size: 2em;
            padding-right: .5em;
            border-bottom: .17em solid rgba(21, 47, 94, 1);
        }

        a, a:hover {
            text-decoration: none;
            font-size: 1em;
            color: rgba(21, 47, 94, 1);
        }
    }

    div.body {
        position: relative;
        width: 100%;
        height: max-content;
        padding: 1em 4em 4em 4em;
        background-color: white;

        div.body-galeria {
            position: relative;
            width: 100%;
            height: 60vh;
            display: flex;
            gap: .5em;
            border-radius: 1.5em;
            overflow: hidden;

            div.left-galeria {
                position: relative;
                width: 50%;
                overflow: hidden;
                background-color: black;

                img {
                    position: relative;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                    cursor: pointer;
                    transition: .3s;
                }

                img:hover {
                    scale: 1.05;
                    opacity: .7;
                }
            }

            div.right-galeria {
                position: relative;
                width: 50%;
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                overflow: hidden;

                div.galeria-foto {
                    position: relative;
                    width: 50%;
                    height: 50%;
                    overflow: hidden;

                    div {
                        position: relative;
                        width: 100%;
                        height: 100%;
                        overflow: hidden;
                        background-color: black;

                        img {
                            position: relative;
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            object-position: center;
                            cursor: pointer;
                            transition: .3s;
                        }

                        img:hover {
                            scale: 1.05;
                            opacity: .7;
                        }
                    }
                }

                div.galeria-foto:nth-child(1) {
                    padding-right: .25em;
                    padding-bottom: .25em;
                }
                div.galeria-foto:nth-child(2) {
                    padding-left: .25em;
                    padding-bottom: .25em;
                }
                div.galeria-foto:nth-child(3) {
                    padding-right: .25em;
                    padding-top: .25em;
                }
                div.galeria-foto:nth-child(4) {
                    padding-left: .25em;
                    padding-top: .25em;
                }
            }

            a.ver-todas-as-fotos {
                position: absolute;
                right: 1em;
                bottom: 1em;
                text-decoration: none;
                background-color: rgba(7, 106, 62, 1);
                color: white;
                padding: .5em 1em;
                border-radius: .5em;
            }
        }

        div.body-dados {
            position: relative;
            width: 100%;
            height: max-content;
            padding: 4em 0;
            display: flex;
            flex-direction: row;
            gap: 1em;

            div.left-dados {
                position: relative;
                width: 70%;
                height: max-content;
                padding: 1em;

                h1 {
                    font-size: 1.5em;
                }

                p {
                    font-size: 1em;
                }

                div.comodidades {
                    position: relative;
                    width: 100%;
                    height: max-content;
                    display: flex;
                    flex-direction: row;
                    align-items: start;
                    justify-content: space-between;
                    flex-wrap: wrap;
                    padding: 1em;

                    span {
                        position: relative;
                        width: 50%;
                        margin-bottom: 1em;

                        svg {
                            position: relative;
                            margin-right: 1em;
                        }
                    }
                }

                div.avaliacoes {
                    position: relative;
                    width: 100%;
                    height: auto;
                    display: flex;
                    flex-direction: row;
                    overflow-x: auto;
                    overflow-y: hidden;

                    div.avaliacao {
                        position: relative;
                        width: 13em;
                        flex-shrink: 0;
                        padding: .5em;
                        display: flex;
                        flex-direction: column;
                        align-items: start;
                        justify-content: start;
                        border-right: .1em solid rgba(21, 47, 94, 1);

                        h1 {
                            font-size: 1em;
                            font-weight: 100;
                            margin: 0;
                        }

                        span {
                            font-size: 1.05em;
                            font-weight: bold;
                        }

                        svg {
                            font-size: 2em;
                            font-weight: bold;
                            margin-top: 0.5em;
                        }

                        div.porcentagem {
                            position: relative;
                            width: 100%;
                            height: auto;
                            display:  flex;
                            flex-direction: row;
                            align-items: center;

                            label {
                                position: relative;
                                margin: 0;
                                font-size: .8em;
                            }

                            div {
                                position: relative;
                                width: 100%;

                                label {
                                    position: relative;
                                    width: 90%;
                                    height: .5em;
                                    background-color: rgba(21, 47, 94, 1);
                                }
                            }
                        }
                    }

                    div.avaliacao:last-child {
                        border-right: none;
                    }
                }

                div.avaliacoes::-webkit-scrollbar {
                    width: 0.5em;
                    height: 0.5em;
                }

                div.avaliacoes::-webkit-scrollbar-thumb {
                    background: rgba(21, 47, 94, .1);
                    border-radius: .5em;
                }

                div.mapa {
                    position: relative;
                    width: 100%;
                    height: auto;
                    padding: 1em;

                    iframe {
                        position: relative;
                        width: 100%;
                        height: 40vh;
                    }
                }
            }

            div.right-dados {
                position: relative;
                width: 30%;
                height: max-content;
                padding: 1em;

                h2 {
                    margin: 0;
                    font-size: 1.5em;
                }

                div.avaliacoes {
                    position: relative;
                    width: 100%;
                    height: auto;
                    display: flex;
                    flex-direction: column;
                    gap: 1em;

                    div.avaliacao {
                        position: relative;
                        width: 100%;
                        height: auto;
                        padding: 1em;
                        border-radius: .5em;
                        box-shadow: 0 .4em .6em rgba(0, 0, 0, 0.1);

                        display: flex;
                        flex-direction: column;
                        gap: .5em;

                        h1 {
                            font-size: 1.2em;
                        }

                        span {
                            font-size: .9em;
                        }

                        div.estrelas {
                            position: relative;
                            width: 100%;
                            display: flex;
                            flex-direction: row;
                            align-items: center;
                            justify-content: start;

                            svg {
                                color: rgba(21, 47, 94, 1);
                            }
                        }

                        p {
                            font-size: 1em;
                            margin-top: 1em;
                        }
                    }
                }
            }
        }
    }
}

section.contato {
    position: relative;
    width: 100%;
    height: auto;
    background-color: rgba(21, 47, 94, .8);
    display: flex;
    flex-direction: row;
    display: none;

    div.dados {
        position: relative;
        width: 50%;
        height: auto;
        color: white;
        padding: 4em;

        h1 {
            font-size: 1.5em;
            color: white;
            margin-bottom: 1em;
        }

        ul {
            li {
                font-size: 1.1em;
                margin-bottom: 1em;

                strong {
                    margin-right: .5em;
                }

                a, a:hover {
                    text-decoration: none;
                    color: white;
                    font-size: 1em;
                }
            }
        }
    }

    div.formulario {
        position: relative;
        width: 50%;
        height: auto;
        padding: 4em;

        h1 {
            font-size: 1.5em;
            color: white;
            margin-bottom: 1em;
        }

        div {
            position: relative;
            width: 100%;
            height: auto;
            display: flex;
            flex-direction: column;
            margin-bottom: 2em;
            
            label {
                font-size: 1em;
                color: white;
                margin: 0;
            }

            input {
                font-size: 1em;
                color: white;
                background-color: transparent;
                box-shadow: 0 0 0 0;
                outline: 0;
                border: none;
                border-bottom: .1em solid white;
                padding: .3em .5em;
                transition: .3s;
            }

            input:focus {
                background-color: rgba(255, 255, 255, .1);
            }

            textarea {
                font-size: 1em;
                color: white;
                background-color: transparent;
                box-shadow: 0 0 0 0;
                outline: 0;
                border: none;
                border-bottom: .1em solid white;
                padding: .3em .5em;
                resize: none;
                transition: .3s;
            }

            textarea:focus {
                background-color: rgba(255, 255, 255, .1);
            }
        }

        button {
            box-shadow: 0 0 0 0;
            outline: 0;
            border: none;
            background-color: rgba(7, 106, 62, 1);
            padding: .7em 1.5em;
            color: white;
            font-size: 1.2em;
            border-radius: .5em;
            cursor: pointer;
            width: 100%;
            transition: .3s;
        }

        button:hover {
            background-color: rgba(7, 106, 62, .8);
        }
    }
}

@media screen and (max-device-width: 480px) {
    section#index {
        img {
            position: absolute;
            top: 20vh;
            left: 10vw;
            width: 50vw;
        }

        div.links {
            gap: 1em;
            flex-direction: column;
            align-items: end;

            div.link {
                gap: 2em;

                a {
                    font-size: 1.3em;
                }
            }
        }
    }

    section.aluguel-venda {
        div.body {
            padding: 2em;

            div.body-cards {
                div.body-card {
                    width: 100%;
                    flex-direction: column;

                    div.card-img {
                        width: 100%;
                        height: 15em;
                    }

                    div.card-dados {
                        width: 100%;
                    }
                }
            }
        }
    }

    section.aluguel-venda-detalhe {
        div.body {
            padding: 2em;

            div.body-galeria {
                div.left-galeria {
                    width: 100%;
                }

                div.right-galeria {
                    display: none;
                }
            }

            div.body-dados {
                flex-direction: column;

                div.left-dados {
                    width: 100%;
                }

                div.right-dados {
                    width: 100%;
                }
            }
        }
    }

    section.contato {
        flex-direction: column;

        div.dados {
            width: 100%;
        }

        div.formulario {
            width: 100%;
        }
    }
}