*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  box-sizing: border-box;
  font-size: 40%;
  scroll-behavior: smooth; }
  @media only screen and (max-width: 75em) {
    html {
      font-size: 55%; } }

body {
  color: #6d5d4b;
  font-weight: 300;
  line-height: 1.6; }

header {
  background-color: #101d2c;
  color: #f9f7f6;
  padding: 3rem 8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1; }
  @media only screen and (max-width: 75em) {
    header {
      padding: 1rem 0; } }

.navigation {
  width: 100%;
  flex-wrap: nowrap !important; }
  .navigation .navbar {
    width: 100%; }
  .navigation .logo-img {
    width: 15%; }
    @media only screen and (max-width: 62.5em) {
      .navigation .logo-img {
        width: 40%; } }
  .navigation__list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    font-size: 2.5rem;
    margin-bottom: 0; }
    @media only screen and (max-width: 75em) {
      .navigation__list {
        font-size: 2rem; } }
    @media only screen and (max-width: 50em) {
      .navigation__list {
        flex-direction: column;
        align-items: flex-end; } }
  .navigation__item {
    list-style: none; }
    .navigation__item:not(:last-child) {
      margin-right: 8rem; }
      @media only screen and (max-width: 75em) {
        .navigation__item:not(:last-child) {
          margin-right: 4rem; } }
      @media only screen and (max-width: 50em) {
        .navigation__item:not(:last-child) {
          margin-right: 0; } }
  .navigation__link {
    text-transform: uppercase;
    font-weight: 400 !important;
    text-decoration: none;
    color: white !important; }
    .navigation__link:hover, .navigation__link:active {
      text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); }

.logo {
  text-transform: uppercase;
  color: white;
  font-size: 3rem;
  letter-spacing: 4px;
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.6); }
  @media only screen and (max-width: 75em) {
    .logo {
      font-size: 1.5rem; } }

.heading-1, .heading-2, .heading-3, .heading-4 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400; }

.heading-1 {
  font-size: 4.5rem;
  color: #f9f7f6;
  line-height: 1; }
  @media only screen and (max-width: 75em) {
    .heading-1 {
      font-size: 3.5rem; } }
  @media only screen and (max-width: 37.5em) {
    .heading-1 {
      font-size: 2.5rem; } }

.heading-2 {
  font-size: 4rem;
  font-style: italic;
  line-height: 1; }
  .heading-2--light {
    color: #f9f7f6; }
  .heading-2--dark {
    color: #54483a; }
  @media only screen and (max-width: 75em) {
    .heading-2 {
      font-size: 3rem; } }
  @media only screen and (max-width: 37.5em) {
    .heading-2 {
      font-size: 2rem; } }

.heading-3 {
  font-size: 2rem;
  color: #c69963;
  text-transform: uppercase;
  margin-top: 5rem; }
  @media only screen and (max-width: 37.5em) {
    .heading-3 {
      margin-top: 0;
      font-size: 1.5rem; } }

.heading-4 {
  font-size: 1.9rem; }
  .heading-4--light {
    color: #f9f7f6; }
  .heading-4--dark {
    color: #54483a; }

.btn {
  color: #c69963;
  border: none;
  border-radius: 0;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.3rem;
  font-weight: bold;
  text-transform: uppercase;
  padding: 1.8rem 3rem;
  cursor: pointer;
  transition: all .3s; }
  .btn:hover {
    color: #b28451; }
  @media only screen and (max-width: 75em) {
    .btn {
      font-size: 1.5rem !important; } }
  @media only screen and (max-width: 37.5em) {
    .btn {
      font-size: 1.2rem !important;
      padding: 1.8rem 0rem !important; } }

a {
  color: #b28451; }
  a:hover {
    color: #54483a; }

button:focus {
  outline: none; }

.fa-bars {
  font-size: 20px !important;
  margin-right: 0 !important;
  color: #fff; }

.parallax {
  display: flex;
  align-items: center;
  background-color: #54483a;
  background-image: linear-gradient(rgba(16, 29, 44, 0.8), rgba(16, 29, 44, 0.8)), url(../img/main.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 15rem 8rem 15rem 8rem;
  height: 70rem; }
  @media only screen and (max-width: 75em) {
    .parallax {
      grid-column: 1 / -1;
      height: 50rem;
      background-attachment: unset; } }
  @media only screen and (max-width: 37.5em) {
    .parallax {
      padding: 3rem;
      height: 30rem; } }

.about {
  padding: 15rem 8rem;
  text-align: center; }
  @media only screen and (max-width: 37.5em) {
    .about {
      padding: 5rem 2rem; } }

.heading-2 {
  font-family: "Josefin Sans", sans-serif; }

.description {
  font-size: 3rem;
  margin: 5rem 0;
  font-style: italic; }
  @media only screen and (max-width: 75em) {
    .description {
      font-size: 2rem; } }
  @media only screen and (max-width: 37.5em) {
    .description {
      font-size: 1.5rem; } }

img {
  width: 50%; }

.description-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

.services {
  padding: 15rem 8rem;
  background-color: #f9f7f6; }
  .services__col {
    text-align: center; }
  @media only screen and (max-width: 37.5em) {
    .services {
      padding: 5rem 2rem; } }

.card, .card-body, .accordion {
  border: none !important;
  overflow: hidden !important; }

.card-header {
  border-bottom: none !important; }

.card-body {
  font-size: 3rem;
  padding: 5rem 0 !important;
  font-weight: 400;
  background-color: #f9f7f6; }
  @media only screen and (max-width: 75em) {
    .card-body {
      font-size: 2rem; } }
  @media only screen and (max-width: 37.5em) {
    .card-body {
      font-size: 1.5rem;
      padding: 0 !important; } }

.fa {
  margin-right: 2rem; }

footer {
  background-color: #101d2c;
  color: #f9f7f6;
  padding: 8rem 8rem; }
  footer p {
    margin-bottom: 2rem; }
  footer .copyright {
    margin-top: 3rem; }
  @media only screen and (max-width: 37.5em) {
    footer {
      padding: 5rem 4rem; } }

.footer_text {
  font-family: "Josefin Sans", sans-serif;
  text-align: center !important;
  font-size: 2.3rem; }
  @media only screen and (max-width: 75em) {
    .footer_text {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 37.5em) {
    .footer_text {
      font-size: 1.3rem; } }

.contact {
  padding: 15rem 8rem; }
  @media only screen and (max-width: 37.5em) {
    .contact {
      padding: 5rem 2rem; } }

.contact_col {
  text-align: center !important; }
  .contact_col iframe {
    width: 100% !important; }
  .contact_col a {
    color: #6d5d4b; }
