/* Reset
-------------------------------------------------- */
*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section, summary {
  display: block;
}


/* General
-------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: "raleway";
  line-height: 1.75em;
  word-break: break-word;
  color: #000;
  font-size: 18px;
  background-color: #fff;
}

img {
  display: block;
  max-width: 100%;
}

.left   { float: none; }
  @media only screen and (min-width: 1000px) { .left { float: left; } }

.right  { float: none; }
  @media only screen and (min-width: 1000px) { .right { float: right; } }

.center { text-align: center; }

.half-col { width: 100%; }
  @media only screen and (min-width: 1000px) { .half-col { width: 50%; height: inherit; } }


/* Header
-------------------------------------------------- */
header {
  background: url("/assets/images/banner.png") no-repeat;
  background-size: cover;
  min-height: 600px;
  text-align: center;
}
  @media only screen and (min-width: 500px) { header { height: 600px; } }

header .text-group { padding: 2em; }
  @media only screen and (min-width: 600px) { header .text-group { position: relative; top: 15% } }

header h1 {
  font-size: 4em;
  font-weight: 800;
  margin-bottom: 0;
}

header h2 {
  font-weight: 600;
  margin-bottom: 1.1em;
}

header h3 {
  font-size: 1.5em;
  font-weight: 600;
  max-width: 32em;
  margin: 0 auto;
}


/* Typography
-------------------------------------------------- */
h1 {
  font-family: 'Crimson Text', serif;
  font-size: 2em;
  line-height: 1.25em;
  font-weight: 400;
  margin-bottom: .5em;
}

h2 {
  font-size: 2em;
  line-height: 1.25em;
  font-weight: 300;
  margin-bottom: .5em;
}

h3 {
  font-size: 1.4em;
  line-height: 1.5em;
  font-weight: 400;
  margin-bottom: .5em;
}

h4 {
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.5em;
  margin-bottom: .5em;
  color: red;
}

h1 a, h2 a, h3 a, h4 a {
  color: inherit;
  border: 0 !important;
}

p { margin-bottom: 1em }

/* Footer
-------------------------------------------------- */
footer {
  padding: 2em;
  font-size: .8em;
}

footer p { margin-bottom: -0; }

footer span {
  display: none;
  padding: 0 1em;
}

@media only screen and (min-width: 620px) { 
  footer p, 
  footer span { display: inline; }
}


/* Sections - Shared
-------------------------------------------------- */
section {
  overflow: hidden;
  height: inherit;
}

.text-group { padding: 2em; }

@media only screen and (min-width: 1400px) {
  .text-group { padding: 4em; }
}

@media only screen and (min-width: 1000px) {
  .half-col     { height: 419px; }
  .half-col img { height: 324px; max-width: 100%; }
}

@media only screen and (min-width: 1400px) {
  .half-col     { height: 574px; }
  .half-col img { height: 430px; } 
}


/* Section - Gray
-------------------------------------------------- */
.gray .left.half-col { background-color: #E2E2E2; }
  .gray .text-group {
    max-width: 700px;
    height: inherit;
    margin-left: 0;
    margin-right: 0;
  }

@media only screen and (min-width: 500px) {
  .gray img {
    padding: 1em;
    background-color: #fff;
    border: solid 8px #B9D5F4;
    margin: 0 auto;
    max-width: 75%;
  }
  .gray .right.half-col { 
    background-color: #fff;
    padding: 2em;
  }
}

@media only screen and (min-width: 1000px) {
  .gray .text-group         { margin-left: auto; }
  .gray .right.half-col img { margin-left:  0; }
  .gray img                 { max-width: 100% }
}

@media only screen and (min-width: 1400px) {
  .gray .text-group     { padding: 8em 4em;  }
  .gray .right.half-col { padding: 4em !important; }
}


/* Section - Blue
-------------------------------------------------- */
.blue .right.half-col { background-color: #cee2f7; }
  .blue .text-group {
    max-width: 700px;
    height: inherit;
  }

@media only screen and (min-width: 500px) {
  .blue img {
    padding: 1em;
    background-color: #fff;
    border: solid 8px #B9D5F4;
    margin: 0 auto;
    max-width: 75%;
  }
  .blue .left.half-col { 
    background-color: #b9d5f4;
    padding: 2em;
  }
}

@media only screen and (min-width: 1000px) {
  .blue .left.half-col img { margin-right: 0; }
  .blue img                { max-width: 100% }
}

@media only screen and (min-width: 1400px) {
  .blue .text-group     { padding: 8em 4em; }
  .blue .left.half-col  { padding: 4em !important;; }

}


/* Section - Rates
-------------------------------------------------- */
#rates { background-color: #b9d5f4;}


/* Section - Contact
-------------------------------------------------- */
#contact { background-color: #b9d5f4; }


/* Section - Gallery
-------------------------------------------------- */
#images { text-align: center; }

#gallery img {
  display: inline;
  width: 296px;
  height: auto;
}

@media only screen and (min-width: 600px) {
  #gallery img { padding: 1em; }
}

@media only screen and (min-width: 1000px) {
  #gallery img { padding: 2em 1em; }
}

@media only screen and (min-width: 1400px) {
  #gallery img { 
      width: 370px !important;
      padding: 4em 2em;
    }
}