* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html, body {
    min-height:100%;
}

body {
    min-width:320px;
    background:#F5F0EA;
    color:#484848;
    font-family:'Montserrat', sans-serif;
}

.pagina {
    min-height:calc(100vh - 150px);
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:70px 30px 70px;
}

.logo {
    width:115px;
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:35px;
}

.logo img {
    display:block;
    width:100%;
    height:auto;
}

.separador {
    width:360px;
    max-width:80vw;
    display:flex;
    align-items:center;
    gap:0;
    margin-bottom:34px;
}

.separador span {
    flex:1;
    height:1px;
    background:#D9C8B7;
}

.separador i {
    width:8px;
    height:8px;
    margin:0 10px;
    background:#A98A70;
    transform:rotate(45deg);
    display:block;
}

.separador-medio {
    margin-top:36px;
    margin-bottom:45px;
}

.mensaje {
    text-align:center;
}

.mensaje h1 {
    font-family:'Playfair Display', serif;
    font-size:32px;
    font-weight:400;
    line-height:37px;
    color:#4B4B4B;
    margin-bottom:25px;
}

.mensaje p {
    font-size:18px;
    font-weight:400;
    line-height:27px;
    color:#575757;
}

.contacto {
    width:100%;
    max-width:850px;
    text-align:center;
}

.contacto h2 {
    font-size:16px;
    font-weight:700;
    letter-spacing:.2px;
    color:#9A785E;
    margin-bottom:40px;
}

.contacto-items {
    display:flex;
    justify-content:center;
    align-items:stretch;
}

.contacto-item {
    /*display:flex;
    flex-direction:column;
    align-items:center;*/
    width:33.333%;
    padding:0 35px;
    border-right:1px solid #DFD3C6;
}

.contacto-item:last-child {
    border-right:none;
}

.icono {
    width:48px;
    height:48px;
    margin:0 auto 16px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.icono svg {
    width:100%;
    height:100%;
    display:block;
}

.icono-direccion {
    color:#8D6D50;
}

.icono-whatsapp {
    color:#68A76D;
}

.icono-email {
    color:#536577;
}

.contacto-item h3 {
    font-size:14px;
    font-weight:700;
    letter-spacing:.7px;
    color:#484848;
    margin-bottom:12px;
}

.contacto-item p {
    width:100%;
    font-size:15px;
    font-weight:400;
    line-height:21px;
    color:#555;
    text-align:center;
}

.footer {
    min-height:150px;
    background:#EEE5DA;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:35px 20px;
}

.footer p {
    font-family:'Playfair Display', serif;
    font-size:25px;
    font-style:italic;
    font-weight:400;
    color:#5C5C5C;
    margin-bottom:20px;
}

.separador-footer {
    width:240px;
    max-width:70vw;
    margin:0;
}

.separador-footer i {
    width:7px;
    height:7px;
}

.contacto-item a {
    color:inherit;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.contacto-item a:hover {
    text-decoration:underline;
}


/*/// Queries ///*/

@media (max-width:1023px) {
    .mensaje h1 { font-size:28px; }
}

@media (max-width:767px) {
    .pagina { padding:50px 20px 60px; }
    .logo { width:90px; height:120px; margin-bottom:25px; }
    .mensaje h1 { font-size:32px; line-height:38px; }
    .mensaje p { font-size:16px; line-height:24px; }
    .contacto h2 { font-size:14px; line-height:1.4; padding:0 20px; margin-bottom:30px; }
    .contacto-items { flex-direction:column; align-items:center; }
    .contacto-item { width:100%; padding:25px 20px; border-right:none; border-bottom:1px solid #DFD3C6; }
    .contacto-item:last-child { border-bottom:none; }
    .footer { min-height:130px; }
    .footer p { font-size:21px; }
    .contacto-item p br { display:none; }
}

@media (max-width:576px) {
    .contacto h2 { padding:0 30px; }
}

@media (max-width:479px) {
    .mensaje h1 { font-size:28px; line-height:35px; }
    
}

@media (max-width:413px) {
    .contacto h2 { padding:0 20px; }
    .mensaje p { padding:0 20px; }
    .mensaje p br { display:none; }
}

@media (max-width:400px) {
    .mensaje h1 { font-size:26px; line-height:32px; }
    .mensaje p br { display:none; }
    .separador { width:260px; }
}

@media (max-width:389px) {
    .mensaje p { padding:0; }
}