/* Fonts */
* {
  box-sizing: border-box;
}
a:hover {
  text-decoration: none;
}
:root {
  --header-height: 175px;
  --header-background-color: #ffffff;
  --footer-background-color: #ffffff;
  --body-background-color: #ffffff;
  --text-color-1: #363636;
  --text-color-2: #ffffff;
  --main-color-1: #BFCC91;
  --main-color-2: #365580;
}

h1,h2,h3,h4,h5,.my-btn,.wpcf7-submit {
  font-family: charcuterie-deco, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: var(--text-color-1);
}
.form-group label,
body,h6,p,header .menu-main-menu-container ul li a,li {
  font-family: pt-sans-pro, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: var(--text-color-1);
}
h1 {
  font-size: 90px;
  color: var(--text-color-2);
  text-shadow: 0 0 15px rgba(0,0,0,0.5);
  margin-bottom: 0;
}
h2 {
  font-size: 1.8em;
  margin: 0;
}
h3 {
  font-size: 1.6em;
}
h4 {
  font-size: 1.5em;
}
h5 {
  font-size: 1.3em;
  text-align: center;
}
h6 {
  font-size: 1.3em;
}
p,li {
  font-size: 18px;
}

/* End Fonts */


body {
  margin: 0;
  font-size: 100%;
  background-color: var(--body-background-color);
}


/* Header */
header {
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  width: 100%;
  z-index: 9999;
}
header .nav-container {
  height: var(--header-height);
}

header .logo-container {
  height: var(--header-height);
}
header .logo-container img {
  height: calc(var(--header-height) - 10px);
  width: auto;
}
header .menu-main-menu-container ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding-left: 0;
  margin: auto;
}
header .menu-main-menu-container ul li {
  display: inline-block;
  padding: 0 .9rem;
}
header .menu-main-menu-container ul li a {
  text-decoration: none;
  font-size: 21px;
  color: var(--text-color-2);
}
.hamburger-menu-4 {
  display: none;
  cursor: pointer;
}
.bar-4-1,
.bar-4-2,
.bar-4-3 {
  width: 30px;
  height: 3px;
  background-color: #ffffff;
  margin-left: auto;
  margin-bottom: 5px;
  border-radius: 10px;
}
.bar-4-1 {
  animation: bar-4-1-anim-1 .8s reverse;
}
.bar-4-3 {
  animation: bar-4-3-anim-1 .8s reverse;
}
.bar-4-2 {
  transition-delay: .35s;
  transition-duration: .01s;
  animation: bar-4-2-anim .8s;
}
.hamburger-active-4 .bar-4-1 {
  animation: bar-4-1-anim .8s forwards;
}
.hamburger-active-4 .bar-4-2 {
  opacity: 0;
}
.hamburger-active-4 .bar-4-3 {
  animation: bar-4-3-anim .8s forwards;
}
@keyframes bar-4-1-anim {
  0% {}
  50% {transform: translateY(8px) rotate(0);}
  100% {transform: translateY(8px) rotate(-45deg);}
}
@keyframes bar-4-2-anim {
  0% {opacity: 0;}
  80% {opacity: 0;}
  100% {opacity: 1;}
}
@keyframes bar-4-3-anim {
  0% {}
  50% {transform: translateY(-8px) rotate(0);}
  100% {transform: translateY(-8px) rotate(45deg);}
}
@keyframes bar-4-1-anim-1 {
  0% {}
  50% {transform: translateY(8px) rotate(0);}
  100% {transform: translateY(8px) rotate(-45deg);}
}
@keyframes bar-4-3-anim-1 {
  0% {}
  50% {transform: translateY(-8px) rotate(0);}
  100% {transform: translateY(-8px) rotate(45deg);}
}
header,
.nav-container,
.logo-container,
.logo-container img {
   transition: all .6s ease;
 }
header.scrolled {
  background-color: var(--main-color-2);
}
header.scrolled,
header.scrolled .nav-container,
header.scrolled .logo-container {
  height: calc(var(--header-height) - 50px);
}
header.scrolled .logo-container img {
  height: calc(var(--header-height) - 60px);
}
/* End Header */


/* Footer */
footer {
  transition: opacity .6s ease;
  text-align: center;
  padding: 20px 8px;
  background-color: var(--main-color-2);
}
footer .footer-menu-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-bottom: 20px;
}
footer .footer-menu-container a {
  padding: 0 10px;
}
footer .footer-menu-container a p {
  color: var(--text-color-2);
  margin: 0;
}
footer .copyright-text-container p {
  text-align: center;
  color: var(--text-color-2);
  margin-bottom: 0;
}
footer .copyright-text-container p a {
  color: var(--text-color-2);
  text-decoration: none;
}
footer .footer-logo-container {
  max-width: 320px;
  margin: auto;
  margin-bottom: 20px;
}
footer .footer-logo-container img {
  width: 100%;
  height: auto;
}
footer .copyright-text-container {
  width: 100%;
}
footer .footer-dot {
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background-color: var(--text-color-2);
  position: relative;
  top: 1px;
}
/* End Footer */
.page-wrap {
  transition: opacity .6s ease;
}
.vertical-align {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mob-logo-container {
  display: none;
  height: 90%;
}
.mob-logo-container img {
  height: 100%;
  width: auto;
}
@media all and (max-width:1280px) {
  .my-img-text-block .col-md-4,
  .my-img-text-block .col-md-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .block-image {
    height: 600px;
  }
}
@media all and (max-width:998px) {
  .my-img-text-block .col-md-4,
  .my-img-text-block .col-md-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .block-image {
    height: 500px;
  }
  .my-img-text-block .col-md-4 {
    padding: 60px 0 30px;
    text-align: center;
  }
  .my-img-text-block .col-md-4 h2,
  .my-img-text-block .col-md-4 p {
    max-width: 500px;
    margin: auto;
    text-align: left;
  }
  .gallery-grid {
      grid-template-columns: 47.5% 47.5%;
  }
}
@media all and (max-width:952px) {
    :root {
        --header-height: 120px;
    }
  .mob-logo-container {
    display: block;
  }
  .mob-logo-container img {
      max-width: 201px;
  }
  header.scrolled,
  header.scrolled .nav-container,
  header.scrolled .logo-container,
  header.scrolled .logo-container img {
    height: var(--header-height);
  }
  .hamburger-menu-4 {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  header .menu-main-menu-container ul {
    transition: all .8s ease-in-out;
    line-height: 50px;
    position: absolute;
    margin: 0;
    top: var(--header-height);
    height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    font-size: 1.2rem;
    overflow: hidden;
    width: 100%;
    padding: 0;
    background-color: var(--main-color-2);
  }
  #menu-item-15 {
    display: none !important;
  }
}
@media all and (max-width:768px) {
  h1 {
    font-size: 72px;
  }
  .page-top-content {
    padding: 0 1rem;
  }
  .page-top p {
    font-size: 22px;
  }
  .quote h2 {
      font-size: 80px;
  }
  .quote.left {
      left: -30px;
  }
  .quote.right {
      right: -30px;
  }
}
@media all and (max-width:497px) {
  h1 {
    font-size: 60px;
  }
  .page-top p {
    font-size: 20px;
  }
}
@media all and (max-width:410px) {
    h1 {
        font-size: 42px;
    }
    .review-star {
        font-size: 40px;
    }
    footer .footer-menu-container {
        flex-wrap: wrap;
    }
}