html {
  font-size: 16px;
  scroll-behavior: smooth;
}
body {
  color: #777467;
  font-family: 'Caudex', sans-serif;
  margin: 0;
  padding: 0;
}
wrapper {
  position: relative;
  height: 100%;
  min-height: 100vh;
  overflow: hidden;
}





/*------------------------------
            Global        
------------------------------*/
a {
  color: #777467;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
a:hover {
  color: #777467;
  text-decoration: none;
}
h1 {
  color: #18180D;
  font-weight: 400;
  line-height: normal;
}
h2 {
  font-weight: 400;
  line-height: normal;
}
h3 {
  color: #1E2A47;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 1.5rem;
}
h4 {
  font-weight: 700;
  line-height: normal;
  margin-bottom: 1.75rem;
}
h5 {
  font-size: 1rem;
  line-height: normal;
  font-weight: 400;
}
h6 {
  font-size: 1rem;
  line-height: normal;
  font-weight: 400;
}
p,
ul {
  font-size: 1rem;
  font-weight: 300;
  line-height: normal;
  line-height: 1.5;
}
address {
  font-weight: 300;
  line-height: normal;
  line-height: 1.5;
}
b {
  font-weight: 700;
}
.f85 {
  font-size: 5.3125rem;
}
.f80 {
  font-size: 5rem;
}
.f75 {
  font-size: 4.6875rem;
}
.f64 {
  font-size: 4rem;
}
.f60 {
  font-size: 3.75rem;
}
.f58 {
  font-size: 3.625rem;
}
.f55 {
  font-size: 3.4375rem;
}
.f50 {
  font-size: 3.125rem;
}
.f48 {
  font-size: 3rem;
}
.f46 {
  font-size: 2.875rem;
}
.f45 {
  font-size: 2.8125rem;
}
.f44 {
  font-size: 2.75rem;
}
.f40 {
  font-size: 2.5rem;
}
.f38 {
  font-size: 2.375rem;
}
.f36 {
  font-size: 2.25rem;
}
.f35 {
  font-size: 2.1825rem;
}
.f32 {
  font-size: 2rem;
}
.f30 {
  font-size: 1.875rem;
}
.f28 {
  font-size: 1.75rem;
}
.f27 {
  font-size: 1.6875rem;
}
.f26 {
  font-size: 1.625rem;
}
.f25 {
  font-size: 1.5625rem;
}
.f24 {
  font-size: 1.5rem;
}
.f22 {
  font-size: 1.375rem;
}
.f20 {
  font-size: 1.25rem;
}
.f18 {
  font-size: 1.125rem;
}
.f16 {
  font-size: 1rem;
}
.f14 {
  font-size: 0.875rem;
}
.img-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trans {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.scroll-anchor {
  z-index: -99;
  position: relative;
  padding-top: 0;
  margin-top: 0;
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
}
@media (min-width: 1400px) {
  .container {
    max-width: 1310px;
  }
}
@media (max-width: 1399px) {
  h5,
  h6,
  address {
    font-size: 1.125rem;
  }
  p {
    font-size: 1.125rem;
    line-height: 1.3;
  }
  ul {
    font-size: 1.125rem;
  }
  .f85,
  .f80 {
    font-size: 4rem;
  }
  .f60 {
    font-size: 3rem;
  }
  .f58,
  .f55 {
    font-size: 2.875rem;
  }
  .f50 {
    font-size: 2.75rem;
  }
  .f46,
  .f45,
  .f44 {
    font-size: 2.25rem;
  }
  .f40 {
    font-size: 2rem;
  }
  .f38,
  .f36,
  .f35 {
    font-size: 1.625rem;
  }
  .f32,
  .f30 {
    font-size: 1.5rem;
  }
  .f28 {
    font-size: 1.7rem;
  }
  .f27,
  .f26,
  .f25,
  .f24 {
    font-size: 1.25rem;
  }
  .f22 {
    font-size: 1.125rem;
  }
  .f20 {
    font-size: 1.125rem;
  }
  .f18 {
    font-size: 1rem;
  }
  .f16 {
    font-size: 0.875rem;
  }
  .btn.btn-second {
    font-size: 1.125rem;
    margin: 0;
  }
  .btn.btn-second::after {
    right: -1.25rem;
    width: 0.75rem;
    height: 0.75rem;
  }
  .p-mobile {
    padding: 4rem 0 !important;
  }
}
@media (max-width: 991px) {
  .scroll-anchor {
    padding-top: 4rem;
    margin-top: -4rem;
  }
}
@media (max-width: 767px) {
  h5 {
    font-size: 1rem;
  }
  p {
    font-size: 1rem;
  }
  ul {
    font-size: 1rem;
  }
  address {
    font-size: 1rem;
  }
  a.learn-more {
    padding: 0.5rem 1.75rem;
  }
  .f85,
  .f80 {
    font-size: 2.875rem;
  }
  .f64 {
    font-size: 3rem;
  }
  .f60 {
    font-size: 2.125rem;
  }
  .f58,
  .f55 {
    font-size: 1.75rem;
  }
  .f50 {
    font-size: 1.75rem;
  }
  .f46,
  .f45,
  .f44 {
    font-size: 1.625rem;
  }
  .f40 {
    font-size: 1.5rem;
  }
  .f38,
  .f36,
  .f35 {
    font-size: 1.375rem;
  }
  .f32,
  .f30 {
    font-size: 1.25rem;
  }
  .f28 {
    font-size: 1.25rem;
  }
  .f27,
  .f26,
  .f25,
  .f24 {
    font-size: 1rem;
  }
  .f22 {
    font-size: 1rem;
  }
  .f20 {
    font-size: 1rem;
  }
  .f16 {
    font-size: 0.875rem;
  }
  .btn {
    font-size: 1.25rem;
    padding: 0;
    margin: 0.5rem 0;
  }
}





/*------------------------------
            Top Bar
------------------------------*/
.top-nav {
  top: 0;
  width: 100%;
  background-color: #1E2A47;
  max-height: 10rem;
}
.top-nav .nav {
  justify-content: end;
  padding: .9375rem 0;
}
.top-nav .nav-item {
  color: #fff;
  font-size: .875rem;
  margin: 0 1.25rem;
}
.top-nav .nav-item:last-child {
  margin-right: 0;
}





/*------------------------------
            Navbar
------------------------------*/
.navbar {
  flex-direction: column;
  z-index: 999;
  background: linear-gradient(180deg, #000 2.88%, rgba(0, 0, 0, 0.00) 100%);
  padding: 0 0 2rem;
}
.navbar .container {
  z-index: 3;
  position: relative;
}
.navbar .navbar-brand {
  display: flex;
  justify-content: center;
  width: 14rem;
  padding: 0;
  margin: 1rem .9375rem 0;
}
.navbar .navbar-toggler {
  z-index: 9;
  cursor: pointer;
  padding: 0;
  border: none;
  outline: none;
}
.navbar .navbar-toggler:focus {
  box-shadow: none;
}
.navbar svg {
  width: 1.5rem!important;
  height: 1.5rem!important;
}
.navbar svg path {
  stroke: #fff!important;
}
.navbar .nav-link {
  color: #fff;
  margin: auto 1rem;
}
.navbar .nav-link:hover {
  color: #fff;
}
.navbar .nav-link.nav-email {
  padding: 1.125rem 2rem 1.125rem .5rem;
  border: 1px solid rgba(255, 255, 255, 0.60);
  border-radius: 6.25rem;
  margin-left: 1.25rem;
}
.navbar .nav-link.nav-email span {
  color: #fff;
  background-color: #234417;
  padding: .75rem 1rem;
  border-radius: 6.25rem;
  margin-right: 1rem;
}
.navbar span .nav-link:first-child {
  margin: auto .5rem;
}
.navbar span .nav-link:last-child {
  margin-left: .5rem;
}
@media (min-width: 992px) {
  /* .navbar.navbar-min .top-nav .nav {
    padding: .5rem 0 0;
  } */
  .navbar.navbar-min {
    background: #1E2A47;
    padding: 0 0 .75rem;
  }
  .navbar.navbar-min .navbar-brand {
    width: 10rem;
    margin-top: 0;
  }
}
@media (max-width: 991px) {
  .top-nav .nav {
    padding: .5rem 0 0;
  }
  .navbar {
    background: #1E2A47;
    padding: 0 0 .75rem;
  }
  .navbar .navbar-brand {
    width: 10rem;
  }
  .navbar .navbar-nav {
    text-align: center;
    padding: 1rem 0;
  }
  .navbar .nav-link {
    font-size: .875rem;
    padding: .125rem;
  }
  .navbar .nav-link.nav-email {
    padding: .5rem;
    border-radius: 2rem;
    margin: .5rem 0 0;
  }
  .navbar .nav-link.nav-email span {
    display: block;
    width: 100%;
    padding: .5rem 1rem;
    margin-bottom: .5rem;
  }
}
@media (max-width: 767px) {
  .top-nav .nav-item {
    font-size: .625rem;
  }
}





/*------------------------------
            Home
------------------------------*/
.home {
  z-index: 1;
  position: relative;
}
.home .video {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home .video::after {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
}
.home .video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home .content {
  justify-content: center;
  min-height: 100vh;
  text-align: center;
  padding: 8rem 0 12rem;
}
.home h1 {
  color: #fff;
  margin: 0 0 1.5rem;
}
.home h1 span {
  color: #D4AF37;
}
.home h2 {
  color: #fff;
  margin: 0 0 5rem;
}
@media (max-width: 991px) {
  .home .content {
    padding: 8rem 0;
  }
}





/*------------------------------
          Snapshot
------------------------------*/
.snapshot {
  position: relative;
  background-color: #D9D7D2;
}
.snapshot .content {
  position: relative;
  top: -10rem;
  padding: 1rem 0;
}
.snapshot .content::before {
  z-index: 2;
  position: absolute;
  top: 0;
  left: -5rem;
  display: block;
  width: calc(50% + 5rem);
  height: 100%;
  content: '';
  background-color: #1E2A47;
}
.snapshot .content::after {
  z-index: 1;
  position: absolute;
  top: 0;
  left: -5rem;
  display: block;
  width: calc(100% + 10rem);
  height: 100%;
  content: '';
  background-color: #fff;
}
.snapshot .row {
  z-index: 3;
  position: relative;
}
.snapshot .main {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 2rem 0;
}
.snapshot p {
  color: #fff;
}
.snapshot p span {
  color: #D4AF37;;
}
.snapshot p:last-child {
  margin: 0;
}
.snapshot .info {
  padding: 1.75rem 0;
}
.snapshot .info:not(:last-child) {
  border-bottom: 1px dashed #D4AF37;
}
.snapshot .num {
  color: #234417;
  text-transform: capitalize;
}
.snapshot .desc {
  color: #777467;
  margin: 0;
}
@media (max-width: 1399px) {
  .snapshot .content::before {
    left: -1rem;
    width: calc(50% + 1rem);
  }
  .snapshot .content::after {
    left: auto;
    right: -1rem;
    width: calc(50% + 1rem);
  }
}
@media (max-width: 1199px) {
  .snapshot .content {
    top: -6rem;
  }
}
@media (max-width: 991px) {
  .snapshot .main {
    padding: 0 1rem 2rem;
  }
  .snapshot .main::before {
    z-index: -2;
    position: absolute;
    top: -2rem;
    left: 0;
    display: block;
    width: calc(100%);
    height: calc(100% + 2rem);
    content: '';
    background-color: #1E2A47;
  }
  .snapshot .content::before {
    display: none;
  }
  .snapshot .content::after {
    left: auto;
    right: 0;
    width: 100%;
  }
  .snapshot .info {
    padding: 1.75rem 1rem;
  }
}
@media (max-width: 767px) {
  
}





/*------------------------------
          Why Greystone?
------------------------------*/
.greystone {
  z-index: 3;
  position: relative;
  text-align: center;
  background-color: #fff;
  padding: 4.25rem 0 3.75rem;
  margin-top: -4rem;
}
.greystone .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.greystone .img-container img {
  width: 6.5rem;
  margin-bottom: .5rem;
}
.greystone p {
  max-width: 54rem;
  margin: 0 auto 1rem;
}
.greystone p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1199px) {
  .greystone {
    padding: 3.75rem 0;
  }
}
@media (max-width: 767px) {
  .greystone p br {
    display: none;
  }
}





/*------------------------------
        Greystone Info
------------------------------*/
.greystone-info .content {
  color: #2C2C2C;
  background-color: #D9D7D2;
  min-height: 100%;
  padding: 3.75rem 2.5rem;
}
.greystone-info .col-md-4:nth-child(odd) .content {
  color: #fff;
  background-color: #1E2A47;
}
.greystone-info .title {
  color: #21273B;
  margin-bottom: 1rem;
}
.greystone-info .col-md-4:nth-child(odd) .title {
  color: #D4AF37;
}
.greystone-info p {
  margin: 0;
}
@media (max-width: 767px) {
  .greystone-info .content {
    padding: 3.75rem 1.5rem;
  }
}





/*------------------------------
           Focus
------------------------------*/
.focus {
  padding: 3.25rem 0 6.75rem;
}
.focus .img-container {
  aspect-ratio: 1/.5;
  margin-top: 2.5rem;
}
.focus .aspects {
  margin-top: .625rem;
}
.focus .item {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  color: #234417;
  align-items: center;
  padding: 1.5rem 2.5rem;
  transition: all .3s ease-out;
}
.focus .item.active {
  color: #fff;
  background-color: #234417;
}
.focus .item:not(:last-child) {
  border-bottom: .5px dashed #D4AF37;
}
.focus .logo-container {
  position: relative;
}
.focus .item img {
  width: 2.75rem;
  height: 2.75rem;
  margin-right: 1.5rem;
  transition: all .3s ease-out;
  transition: .3s ease-out;
}
.focus .item img:last-child {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.focus .item.active > div img:first-child {
  opacity: 0;
}
.focus .item.active > div img:last-child {
  opacity: 1;
}
.focus .title {
  transition: all .3s ease-out;
}
@media (max-width: 767px) {
  .focus .item {
    padding: 1.25rem 1rem;
  }
}





/*------------------------------
           Gears
------------------------------*/
.gears {
  color: #fff;
  background-color: #1E2A47;
  padding: 3.75rem 0;
}
.gears .content {
  padding: 2.5rem;
}
.gears .col-12:first-child .content {
  border-bottom: .5px dashed #D4AF37;
}
.gears h3 {
  color: #fff;
  margin: 0;
}
.gears h3 span {
  color: #D4AF37;
}
.gears p {
  margin: 0;
}
.gears .item {
  position: relative;
}
.gears .img-container {
  z-index:  2;
  position: relative;
}
.gears .item:hover > .img-container {
  animation: rotate 60s linear infinite;
  transform-origin: center;
}
.gears .img-container img {
  transition: all .3s ease-out;
}
.gears .item:hover > .img-container img:first-child {
  opacity: .25;
}
.gears .img-container img:last-child {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.gears .item:hover > .img-container img:last-child {
  opacity: 1;
}
.gears .info {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 2rem;
  transition: all .3s ease-out;
}
.gears .item:hover > .info {
  opacity: 0;
}
.gears .info-2 {
  z-index: 3;
  opacity: 0;
}
.gears .item:hover > .info-2 {
  opacity: 1;
}
.gears .info .title {
  text-align: center;
  margin: auto;
}
.gears .info ul {
  z-index: 1;
  position: relative;
  font-size: 1.125rem;
  text-align: center;
  padding: 0;
  margin: auto;
}
.gears .info ul li {
  line-height: 1.1;
}
.gears .info ul li:not(:last-child) {
  margin-bottom: 1rem;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 1199px) {
  .gears .info ul {
    font-size: .75rem;
  }
}
@media (max-width: 991px) {
  .gears .title.f24 {
    font-size: .875rem;
  }
  .gears .info ul {
    font-size: .625rem;
  }
  .gears .info ul li:not(:last-child) {
    margin-bottom: .5rem;
  }
}
@media (max-width: 767px) {
  .gears .content {
    padding: 2rem 0;
  }
  .gears .item {
    max-width: 14rem;
    margin: 0 auto 1.5rem;
  }
}





/*------------------------------
           Contact
------------------------------*/
.contact {
  padding: 3.75rem 0;
}
.contact .content {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 3.75rem;
}
.contact .col-lg-6:nth-child(odd) .content {
  background-color: #D9D7D2;
}
.read-more {
  display: inline-block;
  color: #fff;
  background-color: #234417;
  padding: .75rem 1rem;
  border-radius: 6.25rem;
  margin: auto auto 0 0;
}
.read-more:hover {
  color: #fff;
}
.read-more img {
  position: relative;
  top: -.2rem;
  width: 1.25rem;
  margin: auto 0 auto .5rem;
}
@media (max-width: 767px) {
  .contact .content {
    padding: 2rem 1.5rem;
  }
}





/*------------------------------
           Terms
------------------------------*/
.terms {
  position: relative;
}
.terms .nav {
  position: absolute;
  top: -1rem;
  right: -1rem;
}
.terms .nav button {
  background-color: #1E2A47;
  padding: .5rem .75rem;
  border: none;
}
.terms h5 {
  color: #1E2A47;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 2rem 0 1rem;
}
.terms p {
  font-size: 1rem;
}
.terms a:hover {
  
}
@media(min-width: 992px) {
  
}





/*------------------------------
           Footer
------------------------------*/
footer {
  color: #fff;
  background: #1E2A47;
  padding: 1.25rem 0;
}
footer img {
  width: 6rem;
}
footer .nav-item {
  color: #fff;
  margin: auto 1rem;
}
footer .design-credit {
  color: #4A5D78;
  text-align: center;
}
footer .design-credit a {
  color: inherit;
}
@media (max-width: 767px) {
  footer img {
    width: 4rem;
  }
  footer .nav-item {
    color: #fff;
    margin: auto 0 auto auto;
  }
}