html {
  -webkit-text-size-adjust: 100%;
  font-size: 15px;
}

body, h1, h2, p, ul, li, figure, figcaption {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-family: Mulish, sans-serif;
  font-style: normal;
  font-weight: normal;
}


/* HEADER */

header {
  padding: 1em 5%;
  background: royalblue;
  text-align: center;
  font-size: 1.5em;
  color: white;
}

header h1 {
  margin-bottom: 0.25em;
  line-height: 1;
  font-size: 1.5em;
}


/* SUBHEADER WITH CONTACT DETAILS */

div#subheader {
  margin-bottom: 1.25em;
  padding: 0 5%;
  text-align: center;
}

div#subheader h2 {
  margin-bottom: 0.75em;
}

div#subheader ul.contact {
  list-style: none;
}


/* MAIN PHOTO */

img#front {
  display: block;
  margin: auto;
  width: 100%;
  max-width: 800px;
}


/* MAIN CONTENT */

main {
  max-width: 800px;
  margin: auto;
  padding: 1em 5%;
}

h2 {
  margin: 1.25em 0 0.5em;
  font-size: 1.25em;
  font-weight: bold;
}

p {
  margin-bottom: 0.75em;
  line-height: 1.4;
}

li {
  margin-bottom: 0.25em;
  line-height: 1.4;
}

a {
  text-decoration: none;
  color: royalblue;
}

a:hover {
  border-bottom: 1px solid lightsteelblue;
}

ul.contact span {
  display: none; /* Visible only on wider screens. */
}

main ul {
  margin: 0.75em 0 0.75em 2em;
}


/* YELLOW BOX FOR TEMPORARY/CURRENT INFORMATION */

p#notice {
  padding: 0.5em 1em;
  background: lemonchiffon;
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
}


/* ROOM PHOTOS AND DESCRIPTIONS */

div#accommodation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 1em;
}

div#accommodation figure {
  width: 100%;
  margin-bottom: 2em;
}

div#accommodation figure img {
  width: 100%;
  margin-bottom: 0.5em;
  border-radius: 5px;
}

div#accommodation figcaption {
  line-height: 1.4;
}


/* FOOTER */

footer {
  padding: 1.75em 0;
  background: #ddd;
  text-align: center;
  line-height: 1.4;
}

footer span {
  display: none;
}


/* RESPONSIVE */

@media screen and (min-width: 375px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 500px) {
  /* Reveal labels 'Phone', 'Mobile' and 'Email' before contact details. */
  ul.contact li span {
    display: inline;
  }
}

@media screen and (min-width: 700px) {
  /* Remove stylistic line breaks. */
  header h1 br, footer br {
    display: none;
  }
  /* Reveal comma in address in footer now that it's on one line. */
  footer span {
    display: inline;
  }
  /* Put landline and mobile numbers on the same line in the subheader. */
  div#subheader ul.contact li:nth-child(1), div#subheader ul.contact li:nth-child(2) {
    display: inline-block;
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  /* Put the room photos and descriptions side by side. */
  div#accommodation figure {
    width: 32.5%;
    margin-bottom: 1em;
  }
}

@media screen and (min-width: 800px) {
  img#front {
    width: 90%;
    border-radius: 5px;
  }
}