
h1, h2, h3, h4, h5, h6, p, span, hr {
  font-size: unset;
  margin: 0 !important;
}
a, p {
  color: #43525a;
}
body {
  font-family: "Montserrat", Arial, Helvetica,  sans-serif;
  font-size: unset;
  color:#43525a;
}
.t-serif {
	font-family: "Cormorant Garamond", Times, serif;
}
.t-italic {
	font-family: "Cormorant Garamond", Times, serif;
  font-style: italic;
}

.scrolled-down{
  transform:translateY(-100%); transition: all 0.3s ease-in-out;
}
.scrolled-up{
  transform:translateY(0); transition: all 0.3s ease-in-out;
}

  @media (min-width: 1000px){
  .footer {
    margin-left: 150px;
  }
}

@keyframes arrow-movement {
  0% {bottom:110px;opacity:0;}
  20% {bottom:105px;opacity:1;}
  21% {bottom:98px;opacity:1;}
  60% {bottom:70px;opacity:0;}
  100% {bottom:105px;opacity:0;}
}
.arrow-pointer-down {
  position: absolute;
  width:20px; height:20px;
  border-right: solid 1px white;
  border-bottom: solid 1px white;
  transform:rotate(45deg);
  margin: auto;
  left: 0; right: 0; 
  animation: arrow-movement 3s infinite;
  -moz-animation: arrow-movement 3s infinite;
  -webkit-animation: arrow-movement 3s infinite;
  -o-animation: arrow-movement 3s infinite;
}

.navbar-toggler {
  border-color:rgba(255, 255, 255, 0) !important;
}


.text-align-left {
	text-align: left;
}
.text-white {
	color:white;
}
.op-2 {
  opacity:.2;
}
.op-5 {
  opacity:.5;
}
.op-6 {
  opacity:.6;
}
.op-8 {
  opacity:.8;
}

.w-25 {
  width: 25%;
  height: auto;
}
.w-50 {
  width: 50%;
  height: auto;
}
.w-75 {
  width: 75%;
  height: auto;
}
.img-full {
  width: 100%;
  height: auto;
}
.full-height{
  height: 100%;
}
.half-high{
  height: 50vh;
}
.third-high {
  height: 33vh;
}
.spacer {
  height: 80px;
}
.spacer-top {
  height: 170px;
}
.spacer-bottom {
  height: 170px;
}
/* TOP NAV */

.top-nav-logo{
  height: auto;
  width: 190px;
}

.navbar {
  font-size: .75em;
  text-transform: uppercase;
  font-weight: 500;
}
.dropdown-menu{
  font-size: 1em;
}
.nav-item {
  padding-left: 30px;
}

/* Main Headings and Typography */
h1.hero-subtitle {
  font-weight:400;
  letter-spacing: .5px;
  line-height: 40px;
}
h2.body-heading {
  font-size: 32px;
  line-height: .85em;
  letter-spacing: -.1rem;
  text-transform: uppercase;
  color: #333333;
  padding-top:6px;
}
.h1 {
  font-size: 30px;
  line-height: 30px;
}
.h2 {
  font-size: 1.8em;
}
.h3 {
  font-size: 1.6em;
}
.h4 {
  font-size: 1.2em;
}
.h5 {
  font-size: 1.11em;
}
.p1 {
  font-size: .8em;
}
.p2 {
  font-size: .9em;
}
.p3 {
  font-size: .6rem;
  line-height: 1;
}

@media (max-width: 820px) and (orientation: portrait) {
  .hero-title {
    font-size: 22px;
  }
  h1.hero-subtitle {
    font-size: 45px;
    line-height: 50px;
  }
}

@media (max-width: 414px) and (orientation: portrait) {
  .hero-title {
    font-size: 12px;
  }
  h1.hero-subtitle {
    font-size: 28px;
    line-height: 32px;
  }
}

@media (max-width: 897px) and (orientation: landscape) {
  .hero-title {
    font-size: 13px;
  }
  h1.hero-subtitle {
    font-size: 30px;
    line-height: 30px;
  }
}


@media (min-width: 897px) {
  .hero-title {
    font-size: 17px;
  }
  h1.hero-subtitle {
    font-size: 55px;
    line-height: 60px;
  }
  h2.body-heading {
    font-size: 37px;
  }
  .p1 {
    font-size: 1em;
  }
  .p2 {
    font-size: 1.2em;
    line-height: 25px;
  }
}
@media (min-width: 992px) {
  .hero-title {
    font-size: 20px;
  }
  h1.hero-subtitle {
    font-size: 53px;
  }
  h2.body-heading {
    font-size: 48px;
  }
}



/* HERO */

.hero-main {
  background-repeat: no-repeat; 
  background-size: cover; 
  height: 84vh;
}
.hero-main_heading {
  padding-bottom:55px;
}
.hero-main_heading .short-divider {
  height: 3px;
  margin: 34px 0 26px 0;
}
.short-divider {
  width: 70px;
  border-width: 0;
}

.short-ft-divider  {
  width: 70px;
  border-width: 0;
  margin: 0 auto;
}
@media (min-width: 992px){
  .short-ft-divider  {
    margin: unset;
  }
}
.short-bd-divider {
  height: 1px;
  width: 70px;
  border-width: 0;
  opacity: .5;
}

.spacer-header {
  height:43px;
}
.project-heading_svg {
  height: auto;
  width: 30px;
}
.body-heading_svg {
  margin-top: -40px;
  height: auto;
  width: 30px;
}
.p-head {
  padding-top: 3px;
}
.p2-head {
  padding-top: 3px;
  font-weight: 700;
}
p {
  line-height: 1.6;
}
#waypoint_notify{
  position: fixed;
  transform: rotate(90deg);
  transform-origin: 0%;
  left: 20px;
  bottom: 35vh;
  z-index: 5;
}
#waypoint_notify ul {
  position: relative;
  list-style:none;
}
#waypoint_notify li {
  display:inline-block;
  margin: 0 5px;
  width:25px;
  height:1px;
  background-color:#575757;
  transition: all 1s;
}
#waypoint_notify .activated {
  background-color:#bace32;
  margin-bottom:10px;
  width:45px;
  height: 3px;
}
.row {
  --bs-gutter-x: 0;
  --bs-gutter-y:0;
}
.row>*{
  padding:0 !important;
}
.row {
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

/* SERVICES PORTFOLIO */

.serv-portfolio .row .row {
  padding: 6px;
}
.serv-icon img {
  height: auto;
  width: 68px;
}
.serv-icon div {
  position: absolute;
  margin-top: -53px;
}
.serv-icon_next div {
  transition: margin 1s;
  position: absolute;
  margin-top: 5px;
}
.serv-icon_next img {
  height: auto;
  width: 68px;
}
.serv-icon_next div:hover {
  margin-left: 20px;
}
.serv-wrapper {
  position: relative;
  line-height: 0 !important;
}
.serv-title {
  padding: auto;
  
}
.serv-title h2 {
  font-size: 1.5em;
}
.serv-title h3 {
  font-size: 1.3em;
}
.serv-title {
  background-color: rgba(67, 83, 91, 0);
  color: rgba(255, 255, 255, 0) !important;
  position: absolute;
  width:100%;
  height:100%;
  text-align: center;
  vertical-align: middle;
  transition: all .5s;
  z-index: 1;
  line-height: 1.5;
  opacity:1;
}
.serv-title:hover {
  background-color: rgba(67, 83, 91, .8);
  color: rgb(255, 255, 255) !important;
  opacity: .9;
}

/* Services Section */
.our-services svg {
  position: relative;
  height: auto;
  width: 32px;
  padding-bottom: 6px;
}
.our-services_heading {
 font-size: 45px;
}
.our-services_subheading {
  font-size: 28px;
  line-height: 30px;
}
.our-services ul {
 list-style-type: none;
 padding-left:0;
}
.our-services li {
  line-height: 30px;
  font-variation-settings: "wght" 300;
}
.our-services hr {
  border: 0;
  margin: 30px 0;
  width: 55px;
  background: #ffffff;
}
.our-services_offset {
  padding-left: 32px;
}
/* Accolades Section */
.divider-full  {
  width: 100%;
  border-width: 0;
  margin: 0 auto;
}
.divider-mini  {
  width: 25px;
  border-width: 0;
  margin: 0 auto;
}
.accolades svg {
  position: relative;
  height: auto;
  width: 25px;
}
.accolades img {
  height:auto;
  width: 100px;
}
@media only screen and (min-width: 200px) {
  #accolades 
    .accolade:nth-last-child(6), .accolade:nth-last-child(4),  .accolade:nth-last-child(2) {
    border-right: 1px solid #ccd6db;
  }
  }
  @media only screen and (min-width: 500px) {
  #accolades .accolade:nth-last-child(6), .accolade:nth-last-child(5),  .accolade:nth-last-child(3), .accolade:nth-last-child(2) {
    border-right: 1px solid #ccd6db;
  }
  .accolade:nth-last-child(4) {
    border-right: 1px solid rgba(255, 0, 0, 0);
  }
  }
  @media only screen and (min-width: 1000px) {
  #accolades .accolade:nth-last-child(6), .accolade:nth-last-child(5), .accolade:nth-last-child(4), .accolade:nth-last-child(3), .accolade:nth-last-child(2) {
    border-right: 1px solid #ccd6db;
  }
  }

/* FOOTER */

.footer-logo{
  height: auto;
  width: 200px;
}

.footer a {
  text-decoration: none;
}
.footer a:hover {
  text-decoration: underline;
  color: black;
}
.footer h5 {
  letter-spacing: .11rem;
  line-height: 22px;
}
.footer .philosopy {
  font-size: 3.6em;
  line-height: 3rem !important;
}
.footer-sub_top {
  height: 69px;
}
.footer-sub_bottom-first {
  padding-top: 0;
}
@media (min-width: 992px){
  .footer-sub_bottom-first {
    padding-top: 25px;
  }
}
.footer-sub_bottom {
  padding-top: 25px;
}
.footer-sub_social {
  padding-top: 25px;
}
.footer-text {
  font-size: 1.19em;
}
.footer {
  font-size: .9em;
}
.footer-social img {
  height: auto;
  width: 30px;
}
.footer-social a {
  display: inline-block;
}
.footer-social a:nth-child(1), a:nth-child(2), a:nth-child(3) {
  margin-right: 10px;
}

  @media (min-width: 1200px){
  .footer {margin-left: 150px;}
  }
  
