*{
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}
header{
    display: block;
    position: fixed;
    background-color: rgb(240, 240, 240);
    width: 100%;
    top: 0;
    z-index: 10;
}
header .superior{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: center;
    -webkit-align-items: center;
    padding-left: 5vw;
    padding-right: 5vw;
    -webkit-padding-start: 5vw;
    -webkit-padding-end: 5vw;
}
header .superior .logo{
    width: 50%;
}
header .superior .logo img{
    width: 17vh;
}
header .esq{
    height: 8vh;
    display: flex;
    display: -webkit-flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    align-items: center;
    -webkit-align-items: center;
}
header .esq button{
    background-color: rgb(3, 72, 221);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    color: white;
    border-radius: 1em;
    -webkit-border-radius: 1em;
    border: none;
    padding: 2vh;
    font-size: calc(12px + 0.5vh);
    font-size: -webkit-calc(12px + 0.5vh);
}
header .esq a{
    text-decoration: none;
    font-size: calc(12px + 0.5vh);
    font-size: -webkit-calc(12px + 0.5vh);
}
#idioma{
    color: rgb(102, 102, 102);
    padding-right: 10px;
    -webkit-padding-end: 10px;
}
header .esq button:active{
    background-color: rgb(0, 56, 177);
    color: rgb(150, 150, 150);
}
section{
    display: block;
    position: fixed;
    left: 0;
    top: 8%;
    width: 60vw;
    z-index: 10;
    transform: translateX(-60vw);
    -webkit-transform: translateX(-60vw);
}
section .container_menu{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    height: 100%;
}
section .container_menu .boton_mostrar{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}
section .container_menu .boton_mostrar button{
    background-color: white;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    border: none;
    cursor: pointer;
}
section .container_menu .boton_mostrar button h1{
    color: rgb(133, 133, 133);
    font-weight: lighter;
    font-size: calc(40px + 2vw);
    font-size: -webkit-calc(40px + 2vw);
}
section .container_menu .boton_mostrar button:active{
    background-color: rgb(184, 184, 184);
}
section .container_menu .boton_ocultar{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}
section .container_menu .boton_ocultar button{
    display: none;
    background-color: white;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    border: none;
    cursor: pointer;
}
section .container_menu .boton_ocultar button h1{
    color: rgb(133, 133, 133);
    font-weight: lighter;
    font-size: calc(40px + 2vw);
    font-size: -webkit-calc(40px + 2vw);
}
section .container_menu .boton_ocultar button:active{
    background-color: rgb(184, 184, 184);
}
section .container_menu a{
    text-decoration: none;
}
section .menu{
    display: flex;
    display: -webkit-flex;
    align-items: center;
    background-color: rgba(238, 238, 238, 0.822);
    width: 100%;
    padding-top: 20px;
    -webkit-padding-before: 20px;
}
section .menu ul{
    display: inline;
    list-style: none;
    width: 60vw;
}
section .menu ul li{
    color: rgb(122, 122, 122);
    width: 60vw;
    font-size: 20px;
    padding-bottom: 40px;
    font-weight: bolder;
    margin-left: -20px;
    -webkit-margin-start: -20px;
    padding-right: 20px;
    -webkit-padding-end: 20px;
    font-size: calc(20px + 1vw);
    font-size: -webkit-calc(20px + 1vw);
    overflow-wrap: break-word;
}
section .menu ul li:hover{
    text-decoration: underline;
}
.redes{
    display: block;
    position: fixed;
    bottom: 20px;
    right: 10px;
}
.redes .sociales{
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
}
.redes .sociales img{
    width: calc(20px + 3vh);
    z-index: 10;
}
.redes .sociales a:hover{
    padding-left: 5px;
    -webkit-padding-start: 5px;
}
footer{
    display: flex;
    display: -webkit-flex;
    background-color: rgb(3, 72, 221);
    width: 100%;
}
footer .powered{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    padding-left: 5vw;
    -webkit-padding-start: 5vw;
    padding-right: 5vw;
    -webkit-padding-end: 5vw;
}
footer .powered h3{
    color: white;
    font-weight: lighter;
    font-size: calc(12px + 0.5vw);
    font-size: -webkit-calc(12px + 0.5vw);
}
footer .powered a{
    color: white;
    text-decoration: none;
    font-size: calc(12px + 0.5vw);
    font-size: -webkit-calc(12px + 0.5vw);
}

/*///////////////////////////////// MAIN ///////////////////////////////////*/

main{
    height: 100%;
    width: 100%;
    margin-top: 10vh;
    -webkit-margin-before: 10vh;
}
main .container_main{
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    height: 100%;
    width: 100%;
    margin-top: 2vw;
    margin-bottom: 1vw;
    -webkit-margin-before: 2vw;
    -webkit-margin-after: 1vw;
}
main .cabecera{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    height: 100%;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    padding-left: 2vw;
    padding-right: 5vw;
    -webkit-padding-start: 2vw;
    -webkit-padding-end: 5vw;
}
main a{
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    margin: 1%;
}
main .cabecera #hotel{
    background-image: url("img/fotos/inicio/1.jpg");
}
main .cabecera #habitaciones{
    background-image: url("img/fotos/inicio/2.jpg");
}
main .cabecera #restaurantes{
    background-image: url("img/fotos/inicio/3.jpg");
}
main .cabecera #salones{
    background-image: url("img/fotos/inicio/4.png");
}
main .cabecera .wrap{
    display: flex;
    display: -webkit-flex;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    width: 45vw;
    height: 40vh;
    align-items: end;
    -webkit-align-items: end;
}
main .cabecera .content{
    display: block;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.2);
    align-items: end;
    -webkit-align-items: end;
    width: 45vw;
    height: 40vh;
    opacity: 0;
    -moz-opacity: 0;
    -webkit-opacity: 0;
    transition: .5s;
    -webkit-transition: .5s;
}
main .cabecera h1{
    display: block;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    width: 100%;
    text-align: center;
    text-align: -moz-center;
    text-align: -webkit-center;
    font-size: calc(20px + 1vw);
    font-size: -webkit-calc(20px + 1vw);
}
main .cabecera .wrap:hover .content{
    opacity: 1;
    -moz-opacity: 1;
    -webkit-opacity: 1;
}
main .texto{
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    text-align: center;
    text-align: -moz-center;
    text-align: -webkit-center;
    color: rgb(133, 133, 133);
    margin-bottom: 2vw;
    -webkit-margin-after: 2vw;
    opacity: 1;
    -moz-opacity: 1;
    -webkit-opacity: 1;
    transition: .5s;
    -webkit-transition: .5s;
}
main .texto h1{
    font-size: calc(20px + 2vw);
    font-size: -webkit-calc(20px + 2vw);
    font-weight: 100px;
}
main .texto h2{
    font-size: calc(12px + 2vw);
    font-size: -webkit-calc(12px + 2vw);
}
main .promociones{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    margin-top: 2vh;
    -webkit-margin-before: 2vh;
    padding-left: 5vw;
    padding-right: 5vw;
    -webkit-padding-start: 5vw;
    -webkit-padding-end: 5vw;
}
main .promociones .servicios{
    display: flex;
    display: -webkit-flex;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    width: 40vw;
    height: 40vh;
    align-items: end;
    -webkit-align-items: end;
}
main .promociones #promos{
    background-image: url("img/fotos/promociones.jpg");
}
main .promociones #eventos{
    background-image: url("img/fotos/eventos.jpg");
}
main .promociones .content{
    display: block;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.2);
    width: 40vw;
    height: 40vh;
    opacity: 0;
    -moz-opacity: 0;
    -webkit-opacity: 0;
    transition: .5s;
    -webkit-transition: .5s;
}
main .promociones h1{
    display: block;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    width: 40vw;
    text-align: center;
    text-align: -moz-center;
    text-align: -webkit-center;
    font-size: calc(20px + 1vw);
    font-size: -webkit-calc(20px + 1vw);
}
main .promociones .content:hover{
    opacity: 1;
    -moz-opacity: 1;
    -webkit-opacity: 1;
}
main .contacto{
    display: flex;
    display: -webkit-flex;
    width: 100%;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    margin-top: 3vh;
    -webkit-margin-before: 3vh;
    padding-left: 5vw;
    padding-right: 5vw;
    -webkit-padding-start: 5vw;
    -webkit-padding-end: 5vw;
}
main .contacto .map iframe{
    width: 45vw;
    height: 40vh;
}
main .contacto .direccion{
    width: 40vw;
    word-wrap: break-word;
}
main .contacto h3{
    color: rgb(133, 133, 133);
    font-size: calc(12px + 2vw);
    font-size: -webkit-calc(12px + 2vw);
}
main .contacto p{
    color: rgb(133, 133, 133);
    font-size: calc(6px + 2vw);
    font-size: -webkit-calc(6px + 2vw);
}
