/* CUSTOM CSS casabuenosaires.com.mx */

/* COLOR PALATTE
------------------------------------------------------------

Black         | #000
White         | #fff
Antique White | #faebd7
Grays         | #272727 | #808080 | #d3d3d3
Light Blue    | #4eaed5

*/

/* HTML
------------------------------------------------------------ */

html {
    scroll-behavior: smooth;
}

body {
    width: 100%;
    margin: 0;
    font-size: 101%;
    font-family: Lato;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #4eaed5;
    text-decoration: none;
    font-family: Century Gothic;
}

a:hover {
    color: #f1ab60;
}

ul.menu a.is-active {
    color: pink;
}

.field.field--name-body a {
    border-bottom: 1px solid;
}

table {
    margin: 40px auto;
    border-collapse: collapse;
}

thead tr {
    border: 1px solid #000;
    border-collapse: collapse;
}

th {
    background-color: #000;
    color: #fff;
    padding: 10px;
    text-align: left;
}

tr:nth-child(2n+1) {
    background-color: #fff;
}

tr:nth-child(2n) {
    background-color: #faebd7;
}

td {
    border: 1px solid #d3d3d3;
    padding: 10px;
}

/* Page elements
------------------------------------------------------------ */

h1.page-title {
    font-family: Century Gothic;
    font-size: calc(1.2em + 3vw);
    margin: 20px 0;
    line-height: 1.15em;
    font-weight: inherit;
}

@media (min-width: 50em) {
  h1.page-title {
    font-size: 50px;
  }
}


main .field.field--name-body {
    margin: 0 0 40px 0;
}

article.node,
.views-field-body,
.field--name-body {
font-size: 1.1em;   /* Slightly reduced for better scalability */
line-height: 1.6em; /* Balanced spacing for readability */
font-family: Lato, sans-serif;
color: #343434;
}

/* Layout
------------------------------------------------------------ */

.layout-container {
    padding: 20px 40px;
    overflow: hidden;
    max-width: 1920px;
}

.layout-content {
    max-width: 980px;
    margin: auto;
}

.ba-map {
    margin-bottom: -10px;
}


/* Top region
----------------------------------- */

.region-top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 10px 20px;
    align-items: center;
}

@media screen and (max-width: 737px) {
  .region-top {
    display: block;
    text-align: center;
  }
}

.region-top .contact-info-top {
    display: flex;
}

@media screen and (max-width: 737px) {
  .region-top .contact-info-top {
    display: block;
  }
}

.region-top .contact-info-top > div {
    margin: 0 10px;
}


.region-top .responsive-menu-toggle-icon span.label {
   display: none;
}


.region-top .responsive-menu-toggle-icon::before, .responsive-menu-toggle-icon::after, 
.region-top .responsive-menu-toggle-icon span.icon {
    background: #000;
}

.region-top #block-responsivemenumobileicon {
    display: none;
    position: absolute;
    right: 10px;
    top: 10px;
}

@media screen and (max-width: 737px) {
  .region-top #block-responsivemenumobileicon {
    display: block;
  }
}


/* Header
----------------------------------- */

header {
    background-color: #000;
    padding: 20px;
    overflow: hidden;
}

header .region-header {
    max-width: 1280px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .site-logo {
    float: left;
    width: 100px;
    margin-right: 20px;
}

header .site-name {
    margin-top: 13px;
}

header .site-slogan {
    display: block;
    color: #fff;
    font-size: 3vw;
    font-family: Century Gothic;
    text-align: center;
    white-space: nowrap;
    margin: 0 20px;
}

@media screen and (max-width: 737px) {
  header .region-header  {
    display: block;
  }
}


@media screen and (max-width: 737px) {
  #block-ba-branding {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
}

@media screen and (max-width: 737px) {
  header .site-logo {
    float: none;
    width: 100%;
    margin: 0;
  }
}

@media screen and (max-width: 737px) {
  header .site-logo img {
    max-width: 100px;
  }
}


/* Main menu
----------------------------------- */

.region-navigation {
    background-color: teal;
    display: flex;
    justify-content: center;
    padding: 5px;
}

.region-navigation #block-ba-main-menu ul.menu {
  position: relative;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.region-navigation #block-ba-main-menu ul.menu li {
    list-style: none;
    margin: -5px;
    display: inline-block;
    position: relative;
}

.region-navigation #block-ba-main-menu ul.menu li a {
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 16px;
    white-space: nowrap;
    background-color: teal;
    display: block;
    padding-top: 0.3em;
    padding-right: 1em;
    padding-bottom: 0.35em;
    padding-left: 1em;
}

#block-ba-mobilemenu {
    display: none;
}

/* Langauge switcher
----------------------------------- */


.block-language {
  text-align: center;
  position: relative;
  left: 30px;
  top: 2px;
}

.block-language ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.block-language ul .is-active {
    display: none;
}

.block-language ul li a {
  color: chartreuse;
  text-decoration: none;
  font-weight: 300;
}


/* Image slider
----------------------------------- */

.slider .view-content {
    display: flex;
    line-height: 0;
}


/* Call to action
----------------------------------- */

.region-cta {
    background-color: teal;
    padding: 40px;
    text-align: center;
    color: #fff;
    font-size: 4vw;
}

/* Info
----------------------------------- */



/* Footer
----------------------------------- */

.region-footer {
    background-color: #000;
    color: #808080;
    padding: 40px 20px;
    line-height: 1.35em;
    text-align: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

@media screen and (max-width: 737px) {
  .region-footer {
    display: block;
  }
}

.region-footer > * {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    margin: 8px;
}

.region-footer .menu--footer ul {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.region-footer .menu--footer ul li {
    margin: 0 10px;
}

.region-footer .menu--footer ul li a {
    text-decoration: none;
    font-family: Century Gothic;
    white-space: nowrap;
}

.region-footer .copyright {
    white-space: nowrap;
}

/* Webmaster
----------------------------------- */




/* Content types
------------------------------------------------------------ */

/* Bedrooms
----------------------------------- */

.page-node-type-bedroom .field--name-field-image-gallery {
    display: flex;
}

/* Page
----------------------------------- */

/* Webform
----------------------------------- */

.page-node-type-webform .field--name-webform form {
    margin: 40px 0;
    max-width: 500px;
}

.page-node-type-webform .field--name-webform form .form-item {
    display: flex;
    flex-direction: column;
    margin: 15px 0;
}

.page-node-type-webform .field--name-webform form .form-item label {
    font-weight: bold;
}

.page-node-type-webform .field--name-webform form .form-item input {
    padding: 10px;
}

.page-node-type-webform .field--name-webform form select {
    height: 35px;
}

.page-node-type-webform .field--name-webform form .form-item textarea {
    padding: 10px;
    min-height: 150px;
}


/* Nodes
------------------------------------------------------------ */

/* Home
----------------------------------- */

.page-node-1 .main-image {
    object-fit: cover;
    height: 400px;
    width: 100%;
    margin-bottom: -10px;
}

.page-node-1 h1.page-title {
    text-align: center;
}

/* Bedrooms
----------------------------------- */

.page-node-11 .views-field-field-image-gallery .field-content {
    display: flex;
    margin: 20px 0;
}

.page-node-11 .views-field.views-field-title {
    font-family: Century Gothic;
    font-size: calc(1.2em + 3vw);
    margin: 20px 0;
    line-height: 1.15em;
    font-weight: inherit;
}

@media (min-width: 50em) {
  .page-node-11 .views-field.views-field-title {
    font-size: 50px;
  }
}

.page-node-11 .views-field-field-image-gallery img {
    box-shadow: 3px 3px 5px 6px #ccc;
}

.page-node-11 h1.page-title {
    display: none;
}

.page-node-11 .views-field.views-field-body {
    margin-bottom: 40px;
}



/* 403 & 404
----------------------------------- */

.page-node-17 h1.page-title,
.page-node-18 h1.page-title {
    text-align: center;
}

.page-node-17 .image-403,
.page-node-18 .image-404 {
    max-width: 500px;
    margin: auto;
}

.page-node-17 .field--name-field-subtitle,
.page-node-18 .field--name-field-subtitle {
    font-size: 3.5em;
    text-align: center;
    font-size: Century Gothic;
    margin: -20px 0 0 0;
    line-height: 1.2em;
}

.page-node-17 .field.field--name-body,
.page-node-18 .field.field--name-body {
    margin: auto;
}


/* Message sent
----------------------------------- */

.page-node-205 h1.page-title {
    text-align: center;
}

.page-node-205 .big-tick {
    max-width: 300px;
    margin: auto;
}

.page-node-205 .field.field--name-body {
    margin: auto;
}


/* Misc
------------------------------------------------------------ */

.maintenance-page {
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 100px 0;
}

.maintenance-page .site-name {
    display: none;
}


/* User pages
----------------------------------- */

.path-user #user-login-form {
    margin: 20px 20px 40px 20px;
}

.path-user #user-login-form .description {
    font-size: .8em;
}

.path-user #user-pass {
    margin: 20px;
}

